MyBatis Generator配置文件
<classPathEntry>
驱动文件指定配置项
<classPathEntry location="/Program Files/IBM/SQLLIB/java/db2java.zip" />
<columnOverride>
将数据库中的字段重命名为实体类的属性
column 数据库中字段名
property POJO属性名
javaType POJO类型
jdbcType 数据库字段类型
<table schema="DB2ADMIN" tableName="ALLTYPES" domainObjectName="Customer" >
<property name="useActualColumnNames" value="true"/>
<generatedKey column="ID" sqlStatement="DB2" identity="true" />
<columnOverride column="DATE_FIELD" property="startDate" />
<ignoreColumn column="FRED" />
<columnOverride column="LONG_VARCHAR_FIELD" jdbcType="VARCHAR" />
</table>
<columnRenamingRule>
按规则将数据库中的字段重命名为实体类的属性
<table schema="DB2ADMIN" tableName="ALLTYPES" domainObjectName="Customer" >
<columnRenamingRule searchString="^CUST_" replaceString="" />
..
</table>
<commentGenerator>
代码上面的注释规则
子属性:property
porperties:
suppressAllComments false时打开注释,true时关闭注释
suppressDate false时打开时间标志,true时关闭...真是反人类啊
<commentGenerator>
<property name="suppressDate" value="true" />
</commentGenerator>
<context>
这个实在不知道怎么解释,反正就是大环境
targetRuntime 可选项,可填值为MyBatis3,MyBatis3Simple(默认的),Ibatis2Java2,Ibatis2Java5
<context id="DB2Tables" targetRuntime="MyBatis3">
...
</context>
<generatedKey>
指定自增加以及Id
column 字段
sqlStatement 数据库语句,可以为MySql,DB2,SqlServer,SyBase等http://mybatis.github.io/generator/configreference/generatedKey.html
identity true为id,false不为id
<table schema="DB2ADMIN" tableName="ALLTYPES" domainObjectName="Customer" >
<property name="useActualColumnNames" value="true"/>
<generatedKey column="ID" sqlStatement="DB2" identity="true" />
<columnOverride column="DATE_FIELD" property="startDate" />
<ignoreColumn column="FRED" />
<columnOverride column="LONG_VARCHAR_FIELD" jdbcType="VARCHAR" />
</table>
<ignoreColumn>
忽略字段
column 字段名
<table schema="DB2ADMIN" tableName="ALLTYPES" domainObjectName="Customer" >
<ignoreColumn column="FRED" />
..
</table>
<javaClientGenerator>
Mapper生成配置
type XMLMAPPER配置文件方式,ANNOTATEDMAPPER注解方式
http://mybatis.github.io/generator/configreference/javaClientGenerator.html
<javaClientGenerator type="XMLMAPPER"
targetPackage="cn.test.dao" targetProject="ssm">
<property name="enableSubPackages" value="true" />
</javaClientGenerator>
<javaModelGenerator>
实体类生成配置
targetProject 生成的Java Bean放置在哪个项目的哪个目录下 targetPackage 生成的Java Bean的包名
一个有用的属性 <property name="trimStrings" value="true" /> 从数据库返回的值被清理前后的空格
<property name="enableSubPackages" value="false" /> 是否在包名后加上scheme名称
http://mybatis.github.io/generator/configreference/javaModelGenerator.html
<javaModelGenerator targetPackage="cn.test.domain"
targetProject="ssm">
<property name="enableSubPackages" value="true" />
<property name="trimStrings" value="false" />
</javaModelGenerator>
<javaTypeResolver>
mybatis里专门用来处理NUMERIC和DECIMAL类型的策略
<javaTypeResolver>
<property name="forceBigDecimals" value="true" />
</javaTypeResolver>
<jdbcConnection>
jdbc配置,不解释了哈
<jdbcConnection driverClass="oracle.jdbc.driver.OracleDriver"
connectionURL="jdbc:db2:MBGTEST"
userId="db2admin"
password="db2admin">
</jdbcConnection>
<sqlMapGenerator>
生成sql语句的xml文件
在mybatis2里是必须的,在mybatis3中,只有用XML方式的时候才是需要的。
<sqlMapGenerator targetPackage="cn.test.mapping"
targetProject="ssm">
<property name="enableSubPackages" value="true" />
</sqlMapGenerator>