MyBatis笔记六
逆向工程
表、类、接口、mapper.xml四者密切相关,因此当知道一个的时候其他三个应该可以自动生成。
一、导入jar
mybatis.jar
ojdbc.jar
mybatis-generator-core. jar👇
<dependency>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-core</artifactId>
<version>1.3.7</version>
</dependency>
二、逆向工程配置文件 generator.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">
<!-- suppressAllComments属性值:
true: 自动生成实体类、SQL映射文件时没有注释
false:自动生成实体类、SQL映射文件,并附有注释-->
<commentGenerator>
<property name="suppressDate" value="true"/>
<property name="suppressAllComments" value="true"/>
</commentGenerator>
<!--数据库链接地址账号密码-->
<jdbcConnection driverClass="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://localhost:3306/test" userId="root" password="123456">
</jdbcConnection>
<!-- forceBigDecimals属性值: .
true: 把数据表中的DECIMAL和NUMERIC类型,解析为JAVA代码中的java . math . BigDecimal类型
false(默认) :把数据表中的DECIMAL和NUMERIC类型解析为解析为JAVA代码中的Integer类型
-->
<javaTypeResolver>
<property name="forceBigDecimals" value="false"/>
</javaTypeResolver>
<!-- 生成代码位置 -->
<javaModelGenerator targetPackage="main.demo"
targetProject=".\src">
<property name="enableSubPackages" value="false" />
<!-- trimStrings属性值:(数据库表中字段有空格时是否保存)
true:对数据库的查询结果进行trim操作
false(默认):不进行trim操作(包括空格)
-->
<property name="trimStrings" value="true" />
</javaModelGenerator>
<!--
targetProject,属性值:SQL映射文件的生成位置
targetPackage属性值: SQL映射 文件所在包的路径
-->
<sqlMapGenerator targetPackage="main.mapper"
targetProject="src/main/resources">
<property name="enableSubPackages" value="false" />
</sqlMapGenerator>
<!-- 接口 -->
<javaClientGenerator targetPackage="main.mapper"
targetProject=".\src"
type="XMLMAPPER">
<property name="enableSubPackages" value="false" />
</javaClientGenerator>
<!--生成对应表及类名-->
<table tableName="Person" ></table>
<table tableName="PersonCard" ></table>
<table tableName="PersonClass" ></table>
</context>
</generatorConfiguration>
三、测试使用
//配置文件
File file = new File("src/main/resources/generator.xml");
//用于保存警告信息
List<String> warnings = new ArrayList<>();
ConfigurationParser cp = new ConfigurationParser(warnings);
Configuration config = cp.parseConfiguration(file);
//回调函数
DefaultShellCallback callback = new DefaultShellCallback(true);
//逆向工程核心类
MyBatisGenerator generator = new MyBatisGenerator(config,callback,warnings);
generator.generate(null);
生成后的example为示例文件可删除,并且在接口于mapper中有示例