此文已由作者赵计刚薪授权网易云社区发布。
欢迎访问网易云社区,了解更多网易技术产品运营经验。
用了mybatis-generator,我就不再想用注解了,这与我之前说的注解与XML并用是矛盾的,知识嘛,本来就是多元化的,今天喜欢这个,明天喜欢那个,哈哈,看了mybatis-generator下边的作用,再决定用哪个。
mybatis-generator的作用:
一、转自
http://www.cnblogs.com/smileberry/p/4145872.html 描述了怎样使用mybatis-generator
http://www.jianshu.com/p/e09d2370b796 mybatis-generator配置文件详解
二、使用mybatis-generator
2.1、下载
https://github.com/mybatis/generator/releases
2.2、准备目录结构与jar包
2.3、编写配置文件generatorConfig.xml
1 <?xml version="1.0" encoding="UTF-8"?> 2 <!DOCTYPE generatorConfiguration 3 PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN" 4 "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd"> 5 <generatorConfiguration> 6 <!--数据库驱动--> 7 <classPathEntry location="mysql-connector-java-5.1.37.jar"/> 8 <context id="mysql"> 9 <commentGenerator> 10 <property name="suppressDate" value="true"/> 11 <property name="suppressAllComments" value="true"/> 12 </commentGenerator> 13 <!--数据库链接地址账号密码--> 14 <jdbcConnection driverClass="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://ip:3306/dbname" userId="root" password="xxx"> 15 </jdbcConnection> 16 <javaTypeResolver> 17 <property name="forceBigDecimals" value="false"/> 18 </javaTypeResolver> 19 <!--生成Model类存放位置--> 20 <javaModelGenerator targetPackage="com.xxx.model" targetProject="src"> 21 <property name="enableSubPackages" value="true"/> 22 <property name="trimStrings" value="true"/> 23 </javaModelGenerator> 24 <!--生成映射文件存放位置--> 25 <sqlMapGenerator targetPackage="lcw.mapping" targetProject="src"> 26 <property name="enableSubPackages" value="true"/> 27 </sqlMapGenerator> 28 <!--生成mapper类存放位置--> 29 <javaClientGenerator type="XMLMAPPER" targetPackage="com.xxx.mapper" targetProject="src"> 30 <property name="enableSubPackages" value="true"/> 31 </javaClientGenerator> 32 <!--生成对应表及类名--> 33 34 <table tableName="T_USER" domainObjectName="User" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"></table> 35 36 </context> 37 </generatorConfiguration>
注意点:
如果是ptsql的话,用如下的配置,实际上最本质的地方就是多了一个schema。
1 <?xml version="1.0" encoding="UTF-8"?> 2 <!DOCTYPE generatorConfiguration 3 PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN" 4 "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd"> 5 <generatorConfiguration> 6 <!--数据库驱动--> 7 <classPathEntry location="postgresql-9.1-901.jdbc4.jar"/> 8 <context id="ptsql"> 9 <!--必须有,否则会生成很多注释--> 10 <commentGenerator> 11 <property name="suppressDate" value="true"/> 12 <property name="suppressAllComments" value="true"/> 13 </commentGenerator> 14 <!--数据库链接地址账号密码--> 15 <jdbcConnection driverClass="org.postgresql.Driver" connectionURL="jdbc:postgresql://ip:5432/ku" userId="username" password="password"> 16 </jdbcConnection> 17 <javaTypeResolver> 18 <property name="forceBigDecimals" value="false"/> 19 </javaTypeResolver> 20 <!--生成Model类存放位置--> 21 <javaModelGenerator targetPackage="com.xxx.model" targetProject="src"> 22 <property name="enableSubPackages" value="true"/> 23 <property name="trimStrings" value="true"/> 24 </javaModelGenerator> 25 <!--生成映射文件存放位置--> 26 <sqlMapGenerator targetPackage="lcw.mapping" targetProject="src"> 27 <property name="enableSubPackages" value="true"/> 28 </sqlMapGenerator> 29 <!--生成mapper接口存放位置--> 30 <javaClientGenerator type="XMLMAPPER" targetPackage="com.xxx.mapper" targetProject="src"> 31 <property name="enableSubPackages" value="true"/> 32 </javaClientGenerator> 33 <!--生成对应表及类名--> 34 <table schema="myschema" tableName="t_name" domainObjectName="User" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"> 35 </table> 36 37 </context> 38 </generatorConfiguration>
注意:
2.4、生成model、mapper和项xml
2.5、将生成的文件导入项目中相应的位置即可
三、配置文件详解
更多网易技术、产品、运营经验分享请点击。