Mybatis Generator(代码生成器)
背景介绍
由于使用mybatis开发数据库中的每张表通常都会对应一个映射器配置文件,里面包含CRUD操作语句配置,
比较重复和繁琐,因此mybatis提供了mybatis generator代码生成器帮我们自动生成表对应的映射器和javabean以及Mapper接口。
MyBatis provides a code generator. MyBatis Generator will introspect a
database table (or many tables) and generate MyBatis artifacts needed
to perform CRUD operations (Create, Retrieve, Update, Delete).
mybatis generator 使用
备注:
我们通常需要mybatis generator为我们生成的映射器内容包含:
1、insert(JavaBean) 根据传入java对象插入操作
2、selectByPrimaryKey 根据传入主键查询表记录
3、deleteByPrimaryKey 根据传入主键删除表记录
4、updateByPrimaryKey 根据传入主键(java对象里面),更新表记录(java对象中非null的值).
自定义statment...
有多种方式可以搭建mybatis的代码生成器,这里使用命令行方式来介绍使用
使用步骤:
1、下载mybatis-generator-core和mysql-connector的jar包放在某一个目录下
2、在上一步的同目录下新建generatorConfig.xml配置文件
3、配置generatorConfig.xml配置文件,数据库连接参数和表名对象名以及一些个性化配置
4、在命令行下进入该目录执行如下命令
java -jar mybatis-generator-core-x.x.x.jar -configfile generatorConfig.xml -overwrite
generatorConfig.xml配置文件详解
generatorConfig.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>
<!-- 要添加到类路径中的 JAR/ZIP 文件的完整路径名称或要添加到类路径中的目录-->
<classPathEntry location="mysql-connector-java-5.1.20.jar" />
<context id="DB2Tables" targetRuntime="MyBatis3">
<!-- 数据库连接配置 -->
<jdbcConnection driverClass="com.mysql.jdbc.Driver"
connectionURL="dbUrl" userId="username"
password="password">
</jdbcConnection>
<commentGenerator>
<property name="suppressDate" value="true" />
<property name="suppressAllComments" value="true" />
</commentGenerator>
<javaTypeResolver>
<property name="forceBigDecimals" value="false" />
</javaTypeResolver>
<!-- javabean生成路径和个性化设置 -->
<javaModelGenerator targetPackage="com.xuyi.maven.usermybatis.pojo"
targetProject="src">
<property name="enableSubPackages" value="true" />
<property name="trimStrings" value="true" />
</javaModelGenerator>
<!-- 映射器配置文件所在路径 -->
<sqlMapGenerator targetPackage="com.xuyi.maven.usermybatis.dao"
targetProject="src">
<property name="enableSubPackages" value="true" />
</sqlMapGenerator>
<!-- Mapper接口所在路径 -->
<javaClientGenerator type="XMLMAPPER"
targetPackage="com.xuyi.maven.usermybatis.dao" targetProject="src">
<property name="enableSubPackages" value="true" />
</javaClientGenerator>
<!-- 需要自动生成代码的表 -->
<table tableName="pay_payment_paylog" domainObjectName="PayPaymentPaylog"></table>
</context>
</generatorConfiguration>
参考
http://generator.sturgeon.mopaas.com/index.html
http://my.oschina.net/lujianing/blog/200135