MyBatis Generator (MBG) 是一个Mybatis的代码生成器 MyBatis 和 iBATIS. 他可以生成Mybatis各个版本的代码,和iBATIS 2.2.0版本以后的代码。 他可以通过数据库的表(或多个表)生成可以用来访问(多个)表的基础对象。 这样和数据库表进行交互时不需要创建对象和配置文件。 MBG的解决了对数据库操作有最大影响的一些简单的CRUD(插入,查询,更新,删除)操作。 不过仍然需要对联合查询和存储过程手写SQL和对象。
详细文档请查看http://www.mybatis.org/generator/(英文)
http://mbg.cndocs.tk/(中文)
接下来介绍如何使用该工具:
方式一:使用java配置(推荐)
优势:不依赖于开发工具
步骤一:添加依赖包
pom.xml
<dependency>
<groupId>org.mybatis.generatorgroupId>
<artifactId>mybatis-generator-coreartifactId>
<version>1.3.5version>
dependency>
或者自行下载jar包,地址:https://github.com/mybatis/generator/releases/tag/mybatis-generator-1.3.5
步骤二:建立generatorConfig.xml
<generatorConfiguration>
<classPathEntry location="D:/repository/mysql/mysql-connector-java/5.1.25/mysql-connector-java-5.1.25.jar" />
<context id="DBTables" targetRuntime="MyBatis3">
<jdbcConnection driverClass="com.mysql.jdbc.Driver"
connectionURL="jdbc:mysql://localhost:3306/shopping?characterEncoding=utf8"
userId="root"
password="123456">
jdbcConnection>
<javaTypeResolver >
<property name="forceBigDecimals" value="false" />
javaTypeResolver>
<javaModelGenerator targetPackage="com.mybatis.po" targetProject="./src/main/java">
<property name="enableSubPackages" value="false" />
<property name="trimStrings" value="true" />
javaModelGenerator>
<sqlMapGenerator targetPackage="com.mybatis.mapper" targetProject="./src/main/java">
<property name="enableSubPackages" value="true" />
sqlMapGenerator>
<javaClientGenerator type="XMLMAPPER" targetPackage="test.dao" targetProject=""./src/main/java"">
<property name="enableSubPackages" value="true" />
javaClientGenerator>
<table tableName="user">table>
<table tableName="order">table>
<table tableName="detail">table>
<table tableName="item">table>
context>
generatorConfiguration>
步骤三:运行java代码
import java.io.File;
import java.util.ArrayList;
import java.util.List;
import org.mybatis.generator.api.MyBatisGenerator;
import org.mybatis.generator.config.Configuration;
import org.mybatis.generator.config.xml.ConfigurationParser;
import org.mybatis.generator.internal.DefaultShellCallback;
public class Generator {
public static void main(String[] args) throws Exception{
List warnings = new ArrayList();
boolean overwrite = false;
//指定逆向工程配置文件
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);
}
}
结束!
方式二:使用Eclipse插件
步骤一:下载插件http://download.csdn.net/download/baalhuo/9526993复制相应文件到Eclipse相应目录下,重启Eclipse
步骤二:右键项目New–>Other
步骤三:右键generatorConfig.xml 选择 Generate Mybatis/ibatis Artifacts即可完成!
注意注意:如果出现下列情况:
1:Cannot resolve classpath entry: C:…\5.1.25\mysql-connector-java-5.1.25.jar
解决:检查数据库驱动包路径是否正确,相对路径不管用就使用绝对路径
2:
这种情况通常是由于targetProject路径设置有误造成的。
解决:使用./src/main/java
或者项目名称/src/main/java
3:java代码运行后没有报错,也没有生成代码
解决:检查targetPackage或者targetProject
方式三:使用Maven 插件
MyBatis Generator (MBG) 包含了一个可以集成到Maven构建的Maven插件,按照Maven的配置惯例, 将MBG集成到Maven很容易. 最简配置如下:
...>
...
...
...
org.mybatis.generator
mybatis-generator-maven-plugin
1.3.0
...
...
...
可以在命令行通过以下命令执行:
mvn mybatis-generator:generate
您可以通过标准的Maven命令属性传递参数, 例如:
mvn -Dmybatis.generator.overwrite=true mybatis-generator:generate
这条命令会使MBG覆盖重名的文件
其他配置信息或者配置方式请查看官方文档。http://www.mybatis.org/generator