*********************************11.7更新线********************************
今天有空,分页的资料也找到了。详细情况:http://blog.youkuaiyun.com/aking21alinjuju/article/details/9357893
今天尝试了利用 mybatis-generator 生成mapping文件的插件,记录一下过程。
1.首先下载相对应的jar包,“MyBatis_Generator_1.3.1”。解压并讲“features“”plugins”包导入到eclipse主目录位置。
2启动eclipse ,新建Java项目即可,右键项目 new---other---mybatis generator configuration file ,点击新建“generatorConfig.xml”
3.配置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_0.dtd" >
<generatorConfiguration >
<context id="context1" >
<!--数据库链接地址账号密码-->
<jdbcConnection driverClass="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF-8" userId="root" password="root" />
<span style="white-space:pre"> </span><!--<span style="font-family: Arial, Helvetica, sans-serif;">targetProject 是项目名字</span><span style="font-family: Arial, Helvetica, sans-serif;">--></span>
<!--生成Model类存放位置-->
<javaModelGenerator targetPackage="com.model" targetProject="mybatis-generator" />
<!--生成映射文件存放位置-->
<sqlMapGenerator targetPackage="com.mapping" targetProject="mybatis-generator" ></sqlMapGenerator>
<!--生成Dao类存放位置-->
<javaClientGenerator targetPackage="com.dao" targetProject="mybatis-generator" type="XMLMAPPER" />
<!--生成对应表及类名-->
<!-- tableName和domainObjectName为必选项,分别代表数据库表名和生成的实力类名,其余的可以自定义去选择(一般情况下均为false)。 -->
<table tableName="union_platform" domainObjectName="model" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"></table>
</context>
</generatorConfiguration>
这个配置文件只是基本配置,更多说明可以百度。
4.新建lib目录,并导入jar包
mysql-connector-java-5.0.8-bin.jar
org.mybatis.generator_1.3.1.jar
org.mybatis.generator.core_1.3.1.jar
5.右键XML,点击 generater mybatis artifacts
6完成。
***************************************更新时间:8月15日****************************************
以上的方法,不足之处,就是没有在生成的 Model 加上数据库的注解。造成开发时,不小的麻烦。因为,在周日耐心看了看详细的配置XML网页,终于能加入数据库的中文注解了(前提是,在数据库表中有字段注解)。
1 在项目空白处,新建一个MyCommentGenerator.class
package test;
import org.mybatis.generator.api.CommentGenerator;
import org.mybatis.generator.api.IntrospectedColumn;
import org.mybatis.generator.api.IntrospectedTable;
import org.mybatis.generator.api.dom.java.Field;
import org.mybatis.generator.internal.DefaultCommentGenerator;
public class MyCommentGenerator extends DefaultCommentGenerator implements CommentGenerator {
@Override
public void addFieldComment(Field field, IntrospectedTable introspectedTable, IntrospectedColumn introspectedColumn) {
if (introspectedColumn.getRemarks() != null && !introspectedColumn.getRemarks().equals("")) {
field.addJavaDocLine("/**");
field.addJavaDocLine(" * " + introspectedColumn.getRemarks());
addJavadocTag(field, false);
field.addJavaDocLine(" */");
}
}
}
同时,在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_0.dtd" >
<generatorConfiguration >
<context id="context1" defaultModelType="flat">
<commentGenerator type="test.MyCommentGenerator"> //这里就是刚才新建的类的引入
<property name="suppressDate" value="true"/>
<property name="suppressAllComments" value="true" />
</commentGenerator>
<jdbcConnection driverClass="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://192.168.1.211:3306/union_lwl_com?useUnicode=true&characterEncoding=UTF-8" userId="union_lwl" password="union_lwl@com" />
<javaModelGenerator targetPackage="com.model" targetProject="mybatis-generator" />
<sqlMapGenerator targetPackage="com.mapping" targetProject="mybatis-generator" ></sqlMapGenerator>
<javaClientGenerator targetPackage="com.dao" targetProject="mybatis-generator" type="XMLMAPPER" />
<table tableName="%"> <property name="useActualColumnNames" value="true"/></table>
</context>
</generatorConfiguration>
保存后,再次运行就OK了。
PS:注解中文乱码问题
1 项目的编码设置为UTF_8
2 数据库,和从数据库取值编码设置UTF-8 ?useUnicode=true&characterEncoding=UTF-8
3Eclipse的配置问题,在根目录下 ini 文件最下添加一行
-Dfile.encoding=UTF-8
另外附上我参考的网页,感觉写的很棒
《Mybatis Generator最完整配置详解》http://www.jianshu.com/p/e09d2370b796
《java 乱码问题-Dfile.encoding=UTF-8》http://blog.sina.com.cn/s/blog_4ce8808d0101d0i1.html
《MyBatis Generator配置文件table元素的属性》http://openwares.net/database/mybatis_generator_table_useactualcolumnnames.html
《MyBatis Geneator 详解》http://my.oschina.net/flags/blog/359419