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辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- 个人专题目录 Apache Commons包含了很多开源的工具,用于解决平时编程经常会遇到的问题,减少重复劳动。下...