在使用idea生成Mybatis逆向工程時,老是加載不到generator.xml文件
我寫的路徑沒有問題啊,這是我的項目結構:
- 這是我的主類:
public class TestGenerator {
public static void main(String[] args) throws Exception{
File file = new File("generator.xml");
List<String> warnings = new ArrayList<>();
ConfigurationParser cp = new ConfigurationParser(warnings);
Configuration config = cp.parseConfiguration(file);
DefaultShellCallback callback = new DefaultShellCallback(true);
//逆向工程的核心類
MyBatisGenerator generator = new MyBatisGenerator(config, callback, warnings);
generator.generate(null);
}
}
**原來使用Mybatis生成逆向工程時,配置文件必須是絕對路徑,才能識別xml
下面是我生成逆向工程的完整過程:**
- 導入Maven座標
<dependency>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-core</artifactId>
<version>1.3.2</version>
</dependency>
- generator.xml
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE generatorConfiguration
PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
"http://mybatis.org/dtd/mybatis-generator-config_1_3.2.dtd">
<generatorConfiguration>
<context id="DB2Tables" targetRuntime="MyBatis3">
<commentGenerator>
<!--
suppressAllComments屬性值:
true:自動生成實體類、SQL映射文件時沒有註釋
true:自動生成實體類、SQL映射文件,並附有註釋
-->
<property name="suppressAllComments" value="true" />
</commentGenerator>
<!-- 數據庫連接信息 -->
<jdbcConnection driverClass="com.mysql.jdbc.Driver"
connectionURL="jdbc:mysql://localhost:3306/test"
userId="root" password="">
</jdbcConnection>
<!--
forceBigDecimals屬性值:
true:把數據表中的DECIMAL和NUMERIC類型,
解析爲JAVA代碼中的java.math.BigDecimal類型
false(默認):把數據表中的DECIMAL和NUMERIC類型,
解析爲解析爲JAVA代碼中的Integer類型
-->
<javaTypeResolver>
<property name="forceBigDecimals" value="false" />
</javaTypeResolver>
<!--
targetProject屬性值:實體類的生成位置
targetPackage屬性值:實體類所在包的路徑
-->
<javaModelGenerator targetPackage="com.itt.entity"
targetProject="I:\MyBatisIdea\MyBatisGenerator\src\main\java">
<!-- trimStrings屬性值:
true:對數據庫的查詢結果進行trim操作
false(默認):不進行trim操作
-->
<property name="trimStrings" value="true" />
</javaModelGenerator>
<!--
targetProject屬性值:SQL映射文件的生成位置
targetPackage屬性值:SQL映射文件所在包的路徑
-->
<sqlMapGenerator targetPackage="com.itt.mapper"
targetProject="I:\MyBatisIdea\MyBatisGenerator\src\main\java">
</sqlMapGenerator>
<!-- 生成動態代理的接口 -->
<javaClientGenerator type="XMLMAPPER" targetPackage="com.itt.mapper"
targetProject="I:\MyBatisIdea\MyBatisGenerator\src\main\java">
</javaClientGenerator>
<!-- 指定數據庫表 -->
<table tableName="student"> </table>
<table tableName="studentCard"> </table>
<table tableName="studentClass"> </table>
</context>
</generatorConfiguration>
注意:
- 主類
public static void main(String[] args) throws Exception{
File file = new File("generator.xml");
List<String> warnings = new ArrayList<>();
ConfigurationParser cp = new ConfigurationParser(warnings);
Configuration config = cp.parseConfiguration(file);
DefaultShellCallback callback = new DefaultShellCallback(true);
//逆向工程的核心類
MyBatisGenerator generator = new MyBatisGenerator(config, callback, warnings);
generator.generate(null);
}
- 生成的項目結構圖