一、MyBatis Generator配置
1、创建的maven项目如下:
在上述Maven项目的pom.xml中引入:
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.2.3</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.26</version>
</dependency>
2、在上述项目的src/main/resources中创建一个目录generator,在该目录下创建一个generator-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> <context id="MysqlContext" targetRuntime="MyBatis3Simple" defaultModelType="flat"> <property name="beginningDelimiter" value="`"/> <property name="endingDelimiter" value="`"/> <commentGenerator> <property name="suppressDate" value="true"/> </commentGenerator> <jdbcConnection driverClass="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://localhost:3306/test" userId="root" password=""> </jdbcConnection> <javaModelGenerator targetPackage="test.model" targetProject="src\main\java"> <property name="trimStrings" value="true" /> </javaModelGenerator> <sqlMapGenerator targetPackage="sqlMap.xml" targetProject="src\main\resources"/> <javaClientGenerator type="XMLMAPPER" targetPackage="test.dao" targetProject="src\main\java"/> <table tableName="%"> <generatedKey column="id" sqlStatement="Mysql"/> </table> </context> </generatorConfiguration>
上面仅展示的是Mysql
的简单配置,MyBatis Generator配置详解见https://blog.csdn.net/testcs_dn/article/details/79295065。
二、运行Mybatis Generator(有四种方式)
1、使用Java编写代码运行
在写代码前,需要先把MyBatis Generator的jar包添加到项目中。
第一种方式,从地址https://github.com/mybatis/generator/releases下载jar包。
第二种方式,使用Maven方式直接引入依赖,在pom.xml中添加如下依赖。
<!-- https://mvnrepository.com/artifact/org.mybatis.generator/mybatis-generator-core -->
<dependency>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-core</artifactId>
<version>1.3.3</version>
</dependency>
在上述Maven项目中的src/test/java下面添加artifact.generator包,创建Generator.java类,代码如下:
package artifact.generator;
import java.io.InputStream;
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) {
//MBG执行过程中的警告信息
List<String> warnings = new ArrayList<String>();
//当生成的代码重复时,覆盖源代码
boolean overwrite = true;
//读取MBG配置文件
InputStream is = Generator.class.getResourceAsStream("/generator/generator-config.xml");
ConfigurationParser cp = new ConfigurationParser(warnings);
DefaultShellCallback shellCallback = new DefaultShellCallback(overwrite);
Configuration configuration = null;
try {
configuration = cp.parseConfiguration(is);
is.close();
//创建MBG
MyBatisGenerator myBatisGenerator = new MyBatisGenerator(configuration, shellCallback, warnings);
//执行生成代码
myBatisGenerator.generate(null);
} catch (Exception e) {
e.printStackTrace();
}
for(String warning : warnings) {
System.out.println(warning);
}
}
}
运行上面的代码后刷新上述Maven项目,项目结构如下:
到此,就生成了实体类,dao类,mapper文件。