栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Mybatis反向工程

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Mybatis反向工程

前言

Mybatis也有反向工程,用于通过数据库表生成对应的Mapper接口和mapper.xml文件,与Mybatis-plus的代码生成器不同的是,其主要生成的代码在mapper.xml文件中,包含了表的动态增删改查操作。如果不用Mybatis-plus的话用Mybatis反向工程可以生成更为标准的mapper文件。

导入依赖
        
            org.mybatis.generator
            mybatis-generator-core
            test
        

由于我们的generator不应打包部署到对应的应用中,所以我们定义scope为test。

编写配置DBGenerator.xml文件


		
		
		
		

		
		
		

		
		
		

		
]>



	
  

	  
	  

  	
  	
  		
		
  	
  	
  	
  	
	
	

	  
	  
		  
		  
	  

	
	

		
		

		
		

	

	
		
	

	
	  
	
		
		
		
	

	
	
		
	

	
	
		
		
	



	
	  
		  
		  
	  
:其实就是xml的语法定义,类似于java中定义一个变量。这里的变量名是driverClass,值为com.mysql.cj.jdbc.Driver

commentGenerator 标签中的MyCommentGenerator是我们自定义的生成的类的注释等的配置,可以不用配置,不配置默认使用的是DefaultCommentGenerator。我们自定义配置的话可以继承DefaultCommentGenerator修改我们想要修改的内容。

table标签详解
属性说明
schema& catalog数据库的schema,mysql这里需要设置
tableName数据库表名
domainObjectName生成的JavaBean类名
enable****ByExample是否生成对应的Example操作类,我们的示例全部禁止了

子标签的定义代码中有注释,这里不作说明了。

编写生成代码GeneratorUtil
package com.yyoo.generator;

import org.mybatis.generator.api.MyBatisGenerator;
import org.mybatis.generator.config.Configuration;
import org.mybatis.generator.config.xml.ConfigurationParser;
import org.mybatis.generator.exception.InvalidConfigurationException;
import org.mybatis.generator.exception.XMLParserException;
import org.mybatis.generator.internal.DefaultShellCallback;

import java.io.IOException;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

public abstract class GeneratorUtil {

    
    public static void generator(){
        generator("generator.xml");
    }

    
    public static void generator(String configFile){
        try {
            List warnings = new ArrayList();
            boolean overwrite = true;
            ConfigurationParser cp = new ConfigurationParser(warnings);
            Configuration config = cp.parseConfiguration(GeneratorUtil.class.getClassLoader().getResourceAsStream(configFile));

            DefaultShellCallback callback = new DefaultShellCallback(overwrite);
            MyBatisGenerator myBatisGenerator = new MyBatisGenerator(config, callback, warnings);
            myBatisGenerator.generate(null);
        } catch (IOException e) {
            e.printStackTrace();
        } catch (SQLException e) {
            e.printStackTrace();
        } catch (InterruptedException e) {
            e.printStackTrace();
        } catch (InvalidConfigurationException e) {
            e.printStackTrace();
        } catch (XMLParserException e) {
            e.printStackTrace();
        }
    }

}

测试代码
package com.yyoo.generator;

import org.junit.Test;

public class Main {

    @Test
    public void generator(){

        GeneratorUtil.generator("DBGenerator.xml");

    }

}

本文只是提供一个Mybatis的反向工程的参考代码。内容写得并不详细,这里推荐还是使用Mybatis-plus以及其对应的代码生成器。因为确实简单方便实用。

上一篇:Mybatis-plus进阶之代码生成器
下一篇:待续

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/731783.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号