package util;
import com.baomidou.mybatisplus.enums.FieldFill;
import com.baomidou.mybatisplus.generator.AutoGenerator;
import com.baomidou.mybatisplus.generator.InjectionConfig;
import com.baomidou.mybatisplus.generator.config.*;
import com.baomidou.mybatisplus.generator.config.converts.MySqlTypeConvert;
import com.baomidou.mybatisplus.generator.config.po.TableFill;
import com.baomidou.mybatisplus.generator.config.po.TableInfo;
import com.baomidou.mybatisplus.generator.config.rules.DbColumnType;
import com.baomidou.mybatisplus.generator.config.rules.DbType;
import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
import java.util.*;
public class MysqlGenerator {
private static String table = "user"; //table名字
private static String[] prefixs = {"t_","m_"}; //table前缀
private static String authorName = "tc"; //作者
private static String parent = "com.tc"; //父包名
private static String path = System.getProperty("user.dir");
private static String url = "jdbc:mysql://127.0.0.1:3306/test?serverTimezone=UTC&characterEncoding=utf8";
private static String username = "root";
private static String password = "root";
private static String driverClassName = "com.mysql.jdbc.Driver";
public static void main(String[] args) {
// 自定义需要填充的字段
List<TableFill> tableFillList = new ArrayList<>();
// tableFillList.add(new TableFill("ASDD_SS", FieldFill.INSERT_UPDATE));
// 代码生成器
AutoGenerator mpg = new AutoGenerator().setGlobalConfig(
// 全局配置
new GlobalConfig()
.setOutputDir(path+"/src/main/java")//输出目录
.setFileOverride(true)// 是否覆盖文件
.setActiveRecord(true)// 开启 activeRecord 模式
.setEnableCache(false)// XML 二级缓存
.setBaseResultMap(true)// XML ResultMap
.setBaseColumnList(true)// XML columList
.setOpen(false)//生成后打开文件夹
.setAuthor(authorName)
// 自定义文件命名,注意 %s 会自动填充表实体属性!
.setMapperName("%sDao")
.setXmlName("%sMapper")
.setServiceName("%sService")
.setServiceImplName("%sServiceImpl")
.setControllerName("%sController")
).setDataSource(
// 数据源配置
new DataSourceConfig()
.setDbType(DbType.MYSQL)// 数据库类型
.setTypeConvert(new MySqlTypeConvert() {
// 自定义数据库表字段类型转换【可选】
@Override
public DbColumnType processTypeConvert(String fieldType) {
System.out.println("转换类型:" + fieldType);
// if ( fieldType.toLowerCase().contains( "tinyint" ) ) {
// return DbColumnType.BOOLEAN;
// }
return super.processTypeConvert(fieldType);
}
})
.setDriverName(driverClassName)
.setUsername(username)
.setPassword(password)
.setUrl(url)
).setStrategy(
// 策略配置
new StrategyConfig()
// .setCapitalMode(true)// 全局大写命名
.setDbColumnUnderline(true)//全局下划线命名
// .setTablePrefix(prefixs)// 此处可以修改为您的表前缀
.setNaming(NamingStrategy.underline_to_camel)// 表名生成策略
.setInclude(new String[] { table }) // 需要生成的表
.setRestControllerStyle(true)
//.setExclude(new String[]{"test"}) // 排除生成的表
// 自定义实体父类
// .setSuperEntityClass("com.baomidou.demo.TestEntity")
// 自定义实体,公共字段
//.setSuperEntityColumns(new String[]{"test_id"})
.setTableFillList(tableFillList)
// 自定义 mapper 父类
// .setSuperMapperClass("com.baomidou.demo.TestMapper")
// 自定义 service 父类
// .setSuperServiceClass("com.baomidou.demo.TestService")
// 自定义 service 实现类父类
// .setSuperServiceImplClass("com.baomidou.demo.TestServiceImpl")
// 自定义 controller 父类
//.setSuperControllerClass("com.broker.controller.AbstractController")
// 【实体】是否生成字段常量(默认 false)
// public static final String ID = "test_id";
.setEntityColumnConstant(true)
// 【实体】是否为构建者模型(默认 false)
// public User setName(String name) {this.name = name; return this;}
// .setEntityBuilderModel(true)
// 【实体】是否为lombok模型(默认 false)<a href="https://projectlombok.org/">document</a>
// .setEntityLombokModel(true)
// Boolean类型字段是否移除is前缀处理
// .setEntityBooleanColumnRemoveIsPrefix(true)
// .setRestControllerStyle(true)
// .setControllerMappingHyphenStyle(true)
).setPackageInfo(
// 包配置
new PackageConfig()
//.setModuleName("User")
.setParent(parent)// 自定义包路径
.setController("controller")// 这里是控制器包名,默认 web
.setEntity("entity")
.setMapper("dao")
.setService("service")
.setServiceImpl("service.impl")
//.setXml("mapper")
).setCfg(
// 注入自定义配置,可以在 VM 中使用 cfg.abc 设置的值
new InjectionConfig() {
@Override
public void initMap() {
Map<String, Object> map = new HashMap<>();
map.put("abc", this.getConfig().getGlobalConfig().getAuthor() + "-mp");
this.setMap(map);
}
}.setFileOutConfigList(Collections.<FileOutConfig>singletonList(new FileOutConfig("/templates/mapper.xml.vm") {
// 自定义输出文件目录
@Override
public String outputFile(TableInfo tableInfo) {
return path+"/src/main/resources/mapper/" + tableInfo.getEntityName() + "Mapper.xml";
}
}))
).setTemplate(
// 关闭默认 xml 生成,调整生成 至 根目录
new TemplateConfig().setXml(null)
// 自定义模板配置,模板可以参考源码 /mybatis-plus/src/main/resources/template 使用 copy
// 至您项目 src/main/resources/template 目录下,模板名称也可自定义如下配置:
// .setController("...");
// .setEntity("...");
// .setMapper("...");
// .setXml("...");
// .setService("...");
// .setServiceImpl("...");
);
// 执行生成
mpg.execute();
// 打印注入设置,这里演示模板里面怎么获取注入内容【可无】
System.err.println(mpg.getCfg().getMap().get("abc"));
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
资源详情
资源评论
资源推荐
收起资源包目录
springboot集成mysql (196个子文件)
$CACHE_FILE$ 805B
012eb61c45f54b81a05a500f40c299d2887ea7 70B
01883832748d68ff4efd7ae5310967ed5648ab 74B
05221ab7608b804cbdfa8cc52f8df56e5700cd 54B
09f8f75e790ae4886c993911446eb5b1e2ff98 265B
11cd587710a5dc16504e46f54a546f1ea473f1 44B
174bc23143921e9e51848da7e8f31b25de2b03 490B
22bd5f8572703174d868e252893177a3308b98 45B
2aae5ae623e4202e6ddaaa856d260715dc51d4 444B
2d572ce90e5085986bdd9c9204b9404f028084 130B
2fe9e3ad33e85926a9d07e5499a3d6e33cb626 91B
303944e8f04c472ed41b28d49f6f8cd5ac9397 79B
31332600e99b00d17dcf7aa2925ded5a2cd1b6 190B
35163df5eecd3dd81040312780bc514c245800 215B
3bc9f475f9f72963d656bdae363fdcc2bdff8a 644B
462409d5ba0adf17a456e505fd5acae81066e9 1KB
5cad3817962aa81ddce612450d8d8908b80d84 65B
5eb6ba269cd38f8965cef786729790945d9537 2KB
609cccb44ee783406e0596cd15ad55d2cbfec3 120B
6b5431b4c3cab50323a3f558003fd0abd87dad 3KB
7bf4e2bae8a3354b73ec45dfdcbf7b1b0c80d4 188B
7e2a7a342dc4a5a21943ffbefbfe7bce90cf96 3KB
825f2c85c0eb260257461b0e85df8b8646301b 73B
8309ea4d2b84b7a09dee43e7d0c154bc1c4245 199B
87675d564aaf87bbaedc03cf617fb77e3b5e47 942B
8a4f8006bd81c0103d16d6eddca21357e2ca7d 46B
8fcd6f78186ae8ad0003bb5c8a3a9b7e2477d7 688B
a3040aa86debfd8826d9c2b5c816314c17d9fe 235B
ad930062fc93cffd04c7e09ee5ede00439f0a0 70B
b9e733993225129d7f1f707bba800e975abe39 159B
bf4cf610648943581817557053739d932c2ca6 50B
c123cd217efa49169c4ee41be6c40a1e080a2b 64B
c7d4a55c0cd0092912bf49ae38b3a9e3fd0054 43KB
cbd8ad46b6ba6260496bddc60dac5ffdf1bfd6 57B
ccc0d4212a6d5d914e150066b3836046a942d5 59B
MysqlGenerator.class 6KB
User.class 4KB
SwaggerConfiguration.class 3KB
MysqlGenerator$3.class 1KB
DemoApplication.class 1KB
UserController.class 1KB
MysqlGenerator$2.class 1KB
MysqlGenerator$1.class 1KB
UserServiceImpl.class 604B
DemoApplicationTests.class 511B
UserService.class 273B
UserDao.class 263B
mvnw.cmd 6KB
COMMIT_EDITMSG 15B
config 298B
d43372c986d97911cdc21bd87e0cbe3d83bdda 3KB
d83024fb2d417e859d96df525f8565e44870cf 64B
d95abe68f3a9846133d802a0e043aeb61c0ace 91B
description 73B
e949c8889b7856f4305ab101430089a4637baa 346B
ed75fe0195b096411f4a805f3dab68f77829f0 45B
ef16b891b042bd96e7515ad6e3b1029795e3dd 140B
exclude 240B
.gitignore 333B
HEAD 155B
HEAD 23B
demo.iml 12KB
index 2KB
maven-wrapper.jar 50KB
MysqlGenerator.java 8KB
MavenWrapperDownloader.java 5KB
User.java 3KB
SwaggerConfiguration.java 2KB
UserController.java 844B
DemoApplication.java 655B
UserServiceImpl.java 408B
UserService.java 236B
UserDao.java 234B
DemoApplicationTests.java 205B
master 155B
master 137B
master 41B
master 41B
HELP.md 445B
mvnw 10KB
maven-wrapper.properties 218B
pre-rebase.sample 5KB
update.sample 4KB
fsmonitor-watchman.sample 3KB
pre-commit.sample 2KB
prepare-commit-msg.sample 1KB
pre-push.sample 1KB
commit-msg.sample 896B
pre-receive.sample 544B
applypatch-msg.sample 478B
pre-applypatch.sample 424B
pre-merge-commit.sample 416B
post-update.sample 189B
user.sql 2KB
uiDesigner.xml 9KB
workspace.xml 8KB
pom.xml 3KB
UserMapper.xml 1KB
UserMapper.xml 1KB
Maven__org_springframework_boot_spring_boot_configuration_processor_2_3_0_RELEASE.xml 873B
共 196 条
- 1
- 2
m0_37825155
- 粉丝: 3
- 资源: 6
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- C++多线程的创建、终止.、连接和分离线程等pdf
- MI4803-VB一款SOP8封装2个P-Channel场效应MOS管
- unity快速入门-最快速的入门
- MI4803A-VB一款SOP8封装2个P-Channel场效应MOS管
- MI4801-VB一款SOP8封装2个P-Channel场效应MOS管
- 多变量线性回归的简单表示机代码实现
- 羊驼家族Ollama,window版本,本地大模型
- Java面试题+Java并发编程(J.U.C)+Java8实战+Redis+kafka
- 源码工程文件-libmodbus-test
- wx036校园快递平台系统-springboot+vue+uniapp-小程序.zip(可运行源码+sql文件+文档)
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0