最简便的反向类生成方法

package com.example.springboot_demo;

import com.baomidou.mybatisplus.generator.AutoGenerator;
import com.baomidou.mybatisplus.generator.config.DataSourceConfig;
import com.baomidou.mybatisplus.generator.config.GlobalConfig;
import com.baomidou.mybatisplus.generator.config.PackageConfig;
import com.baomidou.mybatisplus.generator.config.StrategyConfig;
import com.baomidou.mybatisplus.generator.config.rules.DbType;
import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
import com.baomidou.mybatisplus.generator.engine.FreemarkerTemplateEngine;
import org.junit.Test;

/**
 * 类名称:GeneratorTest
 * 类描述:TODO
 * 创建人:筱
 * 创建时间:
 * Version 1.0
 */
public class GeneratorTest {

    @Test
    public void generateCode() {
        /*包名*/
        String packageName = "com.example.springboot_demo";
        /*表名*/
        generateByTables(packageName, "test_a");
    }

    private void generateByTables(boolean serviceNameStartWithI, String packageName, String... tableNames) {
        GlobalConfig config = new GlobalConfig();

        /*数据连接地址和数据库名*/
        String dbUrl = "jdbc:mysql://localhost:3306/test1?serverTimezone=GMT";
        DataSourceConfig dataSourceConfig = new DataSourceConfig();

        /*连接的数据库类型:mysql,sqlserver等*/
        dataSourceConfig.setDbType(DbType.MYSQL)
                /*数据库地址*/
                .setUrl(dbUrl)
                /*mysql账号*/
                .setUsername("root")
                /*mysql密码*/
                .setPassword("")
                .setDriverName("com.mysql.cj.jdbc.Driver");
        StrategyConfig strategyConfig = new StrategyConfig();
        strategyConfig
                .setCapitalMode(true)
                .setEntityLombokModel(false)
                .setDbColumnUnderline(true)
                .setNaming(NamingStrategy.underline_to_camel)
                .setTablePrefix("sys_", "qd_")// 此处可以修改为您的表前缀
                .setEntityColumnConstant(false)  // 生成字段常量
                .setInclude(tableNames);        // 修改替换成你需要的表名,多个表名传数组
        config.setActiveRecord(false)
                .setEnableCache(false)  // XML 二级缓存
                .setBaseResultMap(true)
                .setBaseColumnList(true)
                .setAuthor("xiaoZe")  //作者
                .setOutputDir("D:\\Config")    //输出目录
                .setFileOverride(true);
        if (!serviceNameStartWithI) {
            config.setServiceName("%sService");
        }
        new AutoGenerator()
                .setTemplateEngine(new FreemarkerTemplateEngine())
                .setGlobalConfig(config)
                .setDataSource(dataSourceConfig)
                .setStrategy(strategyConfig)
                .setPackageInfo(
                        new PackageConfig()
                                .setParent(packageName)
                                .setController("controller")    //控制层所在的包名
                                .setEntity("entity")        //实体类所在的包名
                ).execute();
    }

    private void generateByTables(String packageName, String... tableNames) {
        generateByTables(true, packageName, tableNames);
    }

}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一、Python简介和环境搭建以及pip的安装 4课时实验课主要内容 【Python简介】: Python 是一个...
    _小老虎_阅读 11,262评论 0 10
  • 个人专题目录 Apache Commons包含了很多开源的工具,用于解决平时编程经常会遇到的问题,减少重复劳动。下...
    Java及SpringBoot阅读 8,733评论 0 5
  • 一. Java基础部分.................................................
    wy_sure阅读 9,284评论 0 11
  • 今天是基金课第一天开课。正好赶上了共读营打卡的日子。 基金课的时间是提前选择好的。共读营的时间是后来才知道的。读书...
    若心21阅读 1,342评论 0 0
  • 一天,我在家中懒洋洋的写着作业,写完之后,扔下笔和作业本就去玩儿了。不大一会儿,妈妈微笑着向我走来 ,但这...
    肖博涵阅读 3,424评论 0 4

友情链接更多精彩内容