MyBatis Generator:
简称MBG,是一个专门为MyBatis框架使用者定制的的代码生成器,可以快速的根据表生成对应的映射文件,接口以及bean类。支持基本的增删改查,以及QBC风格的条件查询,但是表连接、存储过程等一些复杂sql的定义需要手工编写。
官方文档地址:http://www.mybatis.org/generator
1、导入jar包
mybatis-generator-core-1.03.jar
2、Generator配置:
<?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="DB2Tables" targetRuntime="MyBatis3">
<!-- 数据库连接 -->
<jdbcConnection driverClass="com.mysql.jdbc.Driver"
connectionURL="jdbc:mysql://localhost:3306/mybatis?allowMultiqueries=true"
userId="root" password="admin">
</jdbcConnection>
<!-- java类型解析器 -->
<javaTypeResolver>
<property name="forceBigDecimals" value="false" />
</javaTypeResolver>
<!-- javaBean生成策略你, 其中targetPackage定义的包, targetProject指定目标工程 -->
<javaModelGenerator targetPackage="com.my.pojo"
targetProject=" .\src">
<property name="enableSubPackages" value="true" />
<property name="trimStrings" value="true" />
</javaModelGenerator>
<!-- sql映射策略 targetPackage:指定的包 targetProject:指定的工程 -->
<sqlMapGenerator targetPackage="com.my.mapper"
targetProject=".\src">
<property name="enableSubPackages" value="true" />
</sqlMapGenerator>
<!-- 接口策略 targetPackage:指定的包 targetProject:指定的工程 -->
<javaClientGenerator type="XMLMAPPER"
targetPackage="test.dao" targetProject="\MBGTestProject\src">
<property name="enableSubPackages" value="true" />
</javaClientGenerator>
<!-- 指定的数据库表 tableName : 表名 domainObjectName:javaBean类名 -->
<table tableName="test" domainObjectName="Test"></table>
</context>
</generatorConfiguration>
</generatorConfiguration>
3、运行生成文件
public void generator(){
List<String> warnings = new ArrayList<String>();
boolean overwrite = true;
File configFile = new File("generatorConfig.xml");
ConfigurationParser cp = new ConfigurationParser(warnings);
Configuration config = cp.parseConfiguration(configFile);
DefaultShellCallback callback = new DefaultShellCallback(overwrite);
MyBatisGenerator myBatisGenerator = new MyBatisGenerator(config, callback, warnings);
myBatisGenerator.generate(null);
}