MyBatis知识点复习-12mybatis逆向工程
上一篇:MyBatis知识点复习-11一级缓存与二级缓存以及ehcache缓存
下一篇:MyBatis知识点复习-13Mybatis注解开发
本节我们将向大家讲解一个很牛的东西。简单点说,就是通过数据库中的单表,自动生成java代码。Mybatis官方提供了逆向工程,可以针对单表自动生成mybatis代码(mapper.java\mapper.xml\po类),在企业级开发中,逆向工程是个很常用的工具。本章主要是介绍一个使用方法,比较简单。
1.创建简单的java项目
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/0ec4541bb69e366c94b834b219440c03.png)
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/860f99cab2b95e06ce5c264179ce8203.png)
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/61f47f4d6dfb3cc19a404114635ab2ac.png)
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/c940a90014762518479948f42fef20b9.png)
2.导入jar包,创建generator配置文件
链接:https://pan.baidu.com/s/1l7BxP-s74a0Ok7ReI8w-8A
提取码:v2gy
接着再导入mysql驱动,包在MyBatis知识点复习-01入门案例中已经上传过了。接着在src目录下创建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>
<!--id可以随便写-->
<context id="mysqlTable" targetRuntime="MyBatis3">
<!-- 1.数据连接参数 -->
<jdbcConnection driverClass="com.mysql.jdbc.Driver"
connectionURL="jdbc:mysql://localhost:3306/mybatis复习" userId="root" password="123456">
</jdbcConnection>
<!-- 2.默认false,把JDBC DECIMAL 和 NUMERIC 类型解析为 Integer,为true时JDBC DECIMAL和 NUMERIC 类型解析为java.math.BigDecimal,下面给出了javaType与jdbcType的对应关系,可以参考一下-->
<javaTypeResolver >
<property name="forceBigDecimals" value="false" />
</javaTypeResolver>
<!-- 3.生成模型的位置 -->
<javaModelGenerator targetPackage="domain" targetProject=".\src">
<!-- enableSubPackages:是否让schema作为包的后缀 -->
<property name="enableSubPackages" value="true" />
<property name="trimStrings" value="true" />
</javaModelGenerator>
<!-- 4.targetProject:mapper映射文件生成的位置 -->
<sqlMapGenerator targetPackage="mapper" targetProject=".\src">
<!-- enableSubPackages:是否让schema作为包的后缀 -->
<property name="enableSubPackages" value="true" />
</sqlMapGenerator>
<!-- 5. targetPackage:mapper接口生成的位置 -->
<javaClientGenerator type="XMLMAPPER" targetPackage="mapper"
targetProject=".\src">
<property name="enableSubPackages" value="true" />
</javaClientGenerator>
<!-- 6.要生成的表 -->
<table tableName="items"/>
<table tableName="orderdetail"/>
<table tableName="orders"/>
<table tableName="user"/>
</context>
</generatorConfiguration>
jdbcType与javaType的对应关系
3.使用java类来执行逆向工程运行下面代码即可。
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;
import java.io.File;
import java.util.ArrayList;
import java.util.List;
public class Main {
public static void main(String[] args) throws Exception{
List<String> warnings = new ArrayList<String>();
boolean overwrite = true;
//获取配置文件
File configFile = new File("src/generator.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);
}
}
接下来在正式项目中直接复制上面的内容使用即可,再生成的代码中会给出许多逆向自动实现的简单的CRUD方法。还有我们发现有名字带有Example的类,这里我给出一个代码样例读者自行尝试即可,这里就不演示了。
到目前为止我们的讲解都是基于映射配置文件的接下来我们就要开始讲解注解了,从第一篇到现在我们最开始创建的那个工程经过我们这么久的使用已经有了很多的改变,现在我们工程分享出来。
链接:https://pan.baidu.com/s/16JOjhMPKoy6Sym9tORvzZg
提取码:5fx1
上一篇:MyBatis知识点复习-11一级缓存与二级缓存以及ehcache缓存
下一篇:MyBatis知识点复习-13Mybatis注解开发