0.前言
当我们使用MyBatis的时候,需要根据数据库编写一些实体类,数据库字段对应实体类属性,一张表对应一个实体。同时需要为这个实体编写一个dao增删改查的接口,还需要对应一个个映射文件。当数据库很大的时候这个工作将会非常繁琐。而MyBatis Generator为我们解决了这个问题,通过编写xml文件和主程序代码,就可以逆向的生成这些实体、接口、映射文件等。MyBatis Generator简称MBG它的官方文档在这里:http://www.mybatis.org/generator/index.html 同时需要下载相关的文件:https://github.com/mybatis/generator/releases
1.编写MBG的配置文件
首先我们需要导入之前下载好的jar,也可以使用使用maven直接导入:
<dependency>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-core</artifactId>
<version>1.3.7</version>
</dependency>
然后创建XML文件,这就是MBC的配置文件,详细的标签的使用可以看官方文档
<?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="MyBatis3Simple">
<!--指如何连接到数据库,jdbc-->
<jdbcConnection driverClass="com.MysqL.jdbc.Driver"
connectionURL="http://localhost:3306/mybatis"
userId="root"
password="root">
</jdbcConnection>
<!--指java数据类型的解析,数据库的数据类型与java数据类型的转换。使用默认值-->
<javaTypeResolver >
<property name="forceBigDecimals" value="false" />
</javaTypeResolver>
<!--
用来生成javabean的 targetPackage:生成javaBean的包名,targetProject;目标工程
-->
<javaModelGenerator targetPackage="com.liulu.mybatis.domain" targetProject=".\src">
<property name="enableSubPackages" value="true" />
<property name="trimstrings" value="true" />
</javaModelGenerator>
<!--映射文件的生成策略-->
<sqlMapGenerator targetPackage="com.liulu.mybatis.domain" targetProject=".\src">
<property name="enableSubPackages" value="true" />
</sqlMapGenerator>
<!--相当于指定mapper接口-->
<javaClientGenerator type="XMLMAPPER" targetPackage="com.liulu.mybatis.dao" targetProject=".\src">
<property name="enableSubPackages" value="true" />
</javaClientGenerator>
<!--指定逆向分析的表-->
<table tableName="student" domainObjectName="Student"></table>
<table tableName="admin" domainObjectName="Admin"></table>
</context>
2.编写测试代码
public class TestMain {
@Test
public void Test_1() throws Exception {
List<String> warnings = new ArrayList<String>();
boolean overwrite = true;
File configFile = new File("mbg.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);
}
}
3.结束
主要是一个简单的应用,只需要xml文件的编写,就能能帮我们生成代码。生成的映射文件中也有简单的增删改查的简单代码。详细的使用可以看文档。
不对之处,请多指教!