mybatis逆向工程代码生成代码详解

本章节主要介绍mybatis的逆向工程如何生成代码及其使用详解

 

一、什么是Mybatis的逆向工程

简单来说,就是mybatis官方提供了逆向工程,可以根据数据库中的表来生成:POJO类、Mapper接口及其Mapper接口对应的配置文件

 

二、Mybatis逆向工程生成java代码

Mybatis逆向生成java代码的方式:(mybatis-Generator官网:http://www.mybatis.org/generator/running/running.html)

mybatis逆向工程代码生成代码详解_第1张图片

这里推荐使用配置文件+java代码的方式生成

2.1、导入包

通入maven的方式(推荐):


    org.mybatis.generator
    mybatis-generator
    1.3.7


    org.mybatis.generator
    mybatis-generator-maven-plugin
    1.3.7

下载jar包导入:

mybatis的GitHub地址:https://github.com/mybatis/generator/releases

通过下载jar包进行导入(忽略)

mybatis逆向工程代码生成代码详解_第2张图片

 

2.2、配置

数据库表:

CREATE TABLE `tbl_department` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `dept_name` varchar(255) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;


CREATE TABLE `tbl_employee` (
  `id` int(10) NOT NULL AUTO_INCREMENT,
  `last_name` varchar(255) DEFAULT NULL,
  `gender` char(1) DEFAULT NULL,
  `email` varchar(255) DEFAULT NULL,
  `dept_id` int(10) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8;

 

 

mybatis-generator.xml配置文件:

在项目根路径西下新建一个mybatis-generator.xml配置文件

mybatis逆向工程代码生成代码详解_第3张图片






    
    

    
    
        
            
            
        
        
        
        

        
            
        

        
        
            
            
            
            
        

        
        
            
            
        

        
        
            
            
        

        
        

配置文件需要修改的内容:

  • 数据库驱动、地址、用户名、密码
  • POJO类、mapper接口、mapper映射文件生成的位置
  • 指定数据表

更多的配置信息可以参考官方文档:http://www.mybatis.org/generator/configreference/xmlconfig.html

 

 

测试类:

新建一个测试来执行mybatis逆向工程生成代码

MybatisGeneratorTest.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;

/**
 * 逆向工程xml + java 代码方式
 * @author wcg
 * @create 2019-05-13 23:24
 */
public class MybatisGeneratorTest {
    public static void main(String[] args) throws Exception {
        List warnings = new ArrayList();
        boolean overwrite = true;
        // 指定配置文件位置
        File configFile = new File("mybatis-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);
    }
}

直接运行测试类就可以生成代码

注意:点击运行之后,就已经帮我们生成好了对应的类,但是我们需要手动刷新项目才看得见,有些人就会觉得看不见,以为没有生效,然后又第二次运行核心代码,这里就会出现一个很严重的问题,[Mapper.xml文件已经存在时,如果进行重新生成则mapper.xml文件时,内容不被覆盖而是进行内容追加,结果导致mybatis解析失败]

 

最后得到结果:

mybatis逆向工程代码生成代码详解_第4张图片

 

可以注意到:生成的持久化对象中,多了一个xxxExample.java类,这个类是用来[构造复杂的筛选条件],通俗点讲就是[专门用来封装自定义查询条件],我会在接下来的章节来接收如何使用。

Example类使用:https://blog.csdn.net/qq_37776015/article/details/90186868

 

 

你可能感兴趣的:(mybatis)