版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/joker8023joker/article/details/79900897
利用Java和XML配置文件运行MBG
- 添加相应jar包:mybatis-generator-core-xxx.jar
- 配置xml文件:generatorConfig.xml
- 添加相应Java代码
generatorConfig.xml
<!DOCTYPE generatorConfiguration
PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
"http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd"
>
<generatorConfiguration>
<context id="testTables" targetRuntime="MyBatis">
<commentGenerator>
<!--去除注释-->
<property name="suppressAllComments" value="true"/>
</commentGenerator>
<jdbcConnection driverClass="com.mysql.jdbc.Driver"
connectionURL="jdbc:mysql://localhost:3306/forest_blog"
userId="root"
password="root"/>
<javaModelGenerator targetPackage="com.syx.blog.entity" targetProject=".\src\main\java">
<property name="enableSubPackages" value="false"/>
<property name="trimString" value="true"/>
</javaModelGenerator>
<sqlMapGenerator targetPackage="com.syx.blog.mapper" targetProject=".\src\main\java">
<property name="enableSubPackages" value="false"/>
</sqlMapGenerator>
<javaClientGenerator type="XMLMAPPER" targetPackage="com.syx.blog.mapper" targetProject=".\src\main\java">
<property name="enableSubPackages" value="false"/>
</javaClientGenerator>
<!--需要生成的表-->
<table tableName="user"/>
</context>
</generatorConfiguration>
Java代码:
List<String> warnings = new ArrayList<String>();
boolean overwrite=true;
//指向generator的XML配置文件
File configFile = new File("generatorConfig.xml");
ConfigurationParser cp=new ConfigurationParser(warnings);
Configuration config = cp.parseConfiguration(configFile);
DefaultShellCallback callback=new DefaultShellCallback(overwrite);
MyBatisGenerator myBatisGenerator=new MyBatisGenerator(config,callback,warnings);
myBatisGenerator.generate(null);
存在的问题:
- 如果将xml配置文件放到其他地方,运行java代码会提示找不到配置文件。
- 如果将xml配置文件放到项目目录下(和src同级),提示这不是Generator的配置文件。
我真的是 啊 烦死了。
问题解决1:
暂未找到解决办法。。。
问题解决2:
问题出现在schema的dtd文件的引入部分,我发现我的这部分代码的指向是在自己系统目录下,而非jar包里面,当替换成jar包里面的dtd文件,就不会报此类错误。
"http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd"