mybatis逆向工程使用方法与步骤
mybatis的逆向工程可以由代码生成器生成我们需要的代码和映射文件,即由数据库表生成java代码
# 逆向工程建立步骤
MyBatis Generator官方文档:http://mybatis.org/generator/quickstart.html
1.在maven工程中,使用逆向工程需要先引入pom依赖,
```xml
<dependency>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-core</artifactId>
<version>1.4.0</version>
</dependency>
```
2.之后在父工程根目录下创建其配置文件(mbg.xml),在这里之前要先创建好自己的数据库和数据表
```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="DB2Tables" targetRuntime="MyBatis3">
<commentGenerator>
<!--该语句表示不要注解-->
<property name="suppressAllComments" value="true"/>
</commentGenerator>
<jdbcConnection driverClass="com.mysql.cj.jdbc.Driver"
connectionURL="自己数据库的url"
userId="自己数据库的用户名"
password="自己数据库的密码">
</jdbcConnection>
<javaTypeResolver >
<property name="forceBigDecimals" value="false" />
</javaTypeResolver>
<!--指定javaBean生成的位置-->
<javaModelGenerator targetPackage="com.hao.bean" targetProject="D:\IDEA_JAVA练习\jh012-SSM整合项目\CRUD\src\main\java">
<property name="enableSubPackages" value="true" />
<property name="trimStrings" value="true" />
</javaModelGenerator>
<!--指定映射文件生成的位置-->
<sqlMapGenerator targetPackage="mapper" targetProject="D:\IDEA_JAVA练习\jh012-SSM整合项目\CRUD\src\main\resources">
<property name="enableSubPackages" value="true" />
</sqlMapGenerator>
<!--指定dao接口生成的位置,mapper接口-->
<javaClientGenerator type="XMLMAPPER" targetPackage="com.hao.dao" targetProject="D:\IDEA_JAVA练习\jh012-SSM整合项目\CRUD\src\main\java">
<property name="enableSubPackages" value="true" />
</javaClientGenerator>
<!--table指定每个表的生成策略,我这里的数据库里面的两个表分别为emp和dept表-->
<table tableName="emp" domainObjectName="Employee"></table>
<table tableName="dept" domainObjectName="Department"></table>
</context>
</generatorConfiguration>
```
3.最后生成代码,运行该类主方法后就会生成与数据库相关的代码
```java
public class MBGTest {
public static void main(String[] args) throws IOException, XMLParserException, InvalidConfigurationException, SQLException, InterruptedException {
List<String> warnings = new ArrayList<String>();
boolean overwrite = true;
File configFile = new File("D:\\IDEA_JAVA练习\\jh012-SSM整合项目\\CRUD\\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);
}
}
```