使用MyBatis-generator自动生成MyBatis映射代码
下载mybatis-generator.1.3.1.jar 点击打开链接(包含英文api)
还需要ant-1.6.5.jar
主要说下如何使用配置文件生成,建立 config.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>
<classPathEntry location="WebRoot/WEB-INF/lib/ojdbc14.jar" />
<!-- 用来指定产生一组对象的环境,多个数据库,就建立多个 context -->
<context id="DB2Tables" targetRuntime="MyBatis3">
<!-- 去除自动生成的注释 -->
<commentGenerator>
<property name="suppressAllComments" value="true" />
<!-- 是否生成注释代时间戳
<property name="suppressDate" value="true" />
-->
</commentGenerator>
<jdbcConnection driverClass="oracle.jdbc.driver.OracleDriver"
connectionURL="jdbc:oracle:thin:@127.0.0.1:1521:ORCL" userId="scott" password="tiger">
</jdbcConnection>
<!-- 是否强制转换 只有forceBigDecimals 一个属性 -->
<javaTypeResolver>
<!-- 根据数据库字段长度制动匹配,默认为false:bigdecimal,long,int,short ,为true时始终使用bigdecimal-->
<property name="forceBigDecimals" value="false" />
</javaTypeResolver>
<!-- 生成模型信息 (UserInfoExample.java)-->
<javaModelGenerator targetPackage="com.yeshun.entity.domain"
targetProject="src">
<property name="enableSubPackages" value="true" />
<property name="trimStrings" value="true" />
</javaModelGenerator>
<!-- 生成sqlMapper XML文件 -->
<sqlMapGenerator targetPackage="com.yeshun.entity.mapper"
targetProject="src">
<property name="enableSubPackages" value="true" />
</sqlMapGenerator>
<!-- 生成应用接口 -->
<javaClientGenerator targetPackage="com.yeshun.entity.mapper"
targetProject="src" type="XMLMAPPER">
<property name="enableSubPackages" value="true" />
</javaClientGenerator>
<table tableName="user_table" domainObjectName="UserInfo">
<!-- schema="smsdev" table的熟属性(当数据库存在多个用户并且有相同的表面时,可能需要用到,内容为数据库的用户名) -->
<!-- 去除一列,这样 PASSWORD这列就不会生成
<ignoreColumn column="PASSWORD"/>
-->
<!-- columnOverride 将数据库字段对应成javabean里面的字段 -->
<columnOverride column="USERID" property="userid" />
<columnOverride column="USERNAME" property="username" />
<columnOverride column="PASSWORD" property="password" />
</table>
</context>
</generatorConfiguration>
相应的说明也在配置文件中说明,具体可以查看api
然后建一个类用GeneratorAntTask去执行配置文件
package com.yeshun.generator;
import org.mybatis.generator.ant.GeneratorAntTask;
public class MybatisBuilder {
public static void main(String[] args) {
try {
GeneratorAntTask task = new GeneratorAntTask();
task.setConfigfile("src/com/yeshun/generator/config.xml"); //(配置文件具体path)
task.execute();
} catch (Exception e) {
e.printStackTrace();
}
}
}