MyBatis-Plus 代码生成
MyBatis-Plus官网的代码生成器配置不是特别全,在此整理了较为完整的配置,供自己和大家查阅学习。
// 代码生成器
AutoGenerator mpg = new AutoGenerator();
// 全局配置
GlobalConfig gc = new GlobalConfig();
// 当前用户路径
String projectPath = System.getProperty("user.dir");
// 导出路径
gc.setOutputDir(projectPath + "/src/main/java");
// 作者
gc.setAuthor("autoGenerator");
// 文件生成后是否打开资源管理器
gc.setOpen(false);
// 是否覆盖文件
gc.setFileOverride(true);
// 设置主键的生成方式
gc.setIdType(IdType.INPUT);
// 设置生成的日期类型为Date(默认为LocalDateTime)
gc.setDateType(DateType.ONLY_DATE);
// 是否生产实体属性 Swagger2 注解
gc.setSwagger2(true);
// XML文件的ResultMap
gc.setBaseResultMap(false);
// XML文件的columnList
gc.setBaseColumnList(false);
/* 自定义文件命名,%s会自动填充表实体属性! */
// Mapper文件名
gc.setMapperName("%sMapper");
// Mapper xml文件名
gc.setXmlName("%sMapper");
// Service文件名
gc.setServiceName("%sService");
// Service 文件名
gc.setServiceImplName("%sServiceImpl");
// Controller文件名
gc.setControllerName("%sController");
mpg.setGlobalConfig(gc);
// 数据源配置
DataSourceConfig dsc = new DataSourceConfig();
dsc.setUrl("jdbc:mysql://172.16.4.70:3306/tianzow_crm?serverTimezone=UTC");
dsc.setDriverName("com.mysql.cj.jdbc.Driver");
dsc.setUsername("root");
dsc.setPassword("Tianzow#321.");
mpg.setDataSource(dsc);
// 包配置
PackageConfig pc = new PackageConfig();
pc.setModuleName("crm-core");
pc.setParent("com.tianzow.crm");
pc.setEntity("entity");
pc.setMapper("mapper");
pc.setXml("generator");
pc.setService("service");
pc.setServiceImpl("impl");
pc.setController("controller");
mpg.setPackageInfo(pc);
// 策略配置
StrategyConfig strategy = new StrategyConfig();
// 设置要映射的表名
strategy.setInclude("sys_user");
// 设置包命名规则:下划线转驼峰
strategy.setNaming(NamingStrategy.underline_to_camel);
// 设置列命名规则:下划线转驼峰
strategy.setColumnNaming(NamingStrategy.underline_to_camel);
// 实体类是否使用lombok注解
strategy.setEntityLombokModel(true);
// 控制层是否设置注解为@RestController
strategy.setRestControllerStyle(true);
// 写于父类中的公共字段
strategy.setSuperEntityColumns("id");
// 实体父类,没有就不用设置!
strategy.setSuperEntityClass("");
// 控制器父类,没有就不用设置!
strategy.setSuperControllerClass("");
// 逻辑删除字段名
strategy.setLogicDeleteFieldName("delete_flag");
mpg.setStrategy(strategy);
// 自定义设置
mpg.setCfg(cfg);
// 生成模板设置(默认为Velocity,这里设置为Freemarker)
mpg.setTemplateEngine(new FreemarkerTemplateEngine());
// 执行
mpg.execute();
MyBatis-Plus 代码生成的更多相关文章
- MyBatis学习总结_15_定制Mybatis自动代码生成的maven插件
==================================================================================================== ...
- 通过eclipse mybatis generater代码生成插件自动生成代码
Mybatis属于半自动ORM,在使用这个框架中,工作量最大的就是书写Mapping的映射文件,由于手动书写很容易出错,我们可以利用Mybatis-Generator来帮我们自动生成文件.通过在Ecl ...
- MyBatis学习总结(15)——定制Mybatis自动代码生成的maven插件
==================================================================================================== ...
- Mybatis Generator 代码生成配置
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE generatorConfiguration ...
- Mybatis generator代码生成
背景 项目中使用Mybatis做持久层框架,但由于开发成员水平不一,写dao的时候,各有各的偏好,有时候还会写出带sql注入漏洞的代码. 出现sql注入漏洞,一般是#和$的区别没弄明白: $ 直接把字 ...
- java web开发入门十一(idea maven mybatis自动代码生成)基于intellig idea
6.idea maven mybatis逆向工程(代码生成器) 1.配置pom.xml 在plugins标签下添加mybatis-generator-maven-plugin <plugin&g ...
- MyBatis学习---逆向工程 Mybatis Generator代码生成
[目录]
- 使用mysql8.+版本,使用mybatis的代码生成工具:mybatis-generator连接数据库时Unknown initial character set index '255' received from server. Initial client character set can be forced via the 'characterEncoding' property.
Error connecting to database: (using class org.gjt.mm.mysql.Driver)Unknown initial character set ind ...
- 001-脚手架发展,基础代码结构+mybatis代码生成
一.概述 脚手架是为了保证各施工过程顺利进行而搭设的工作平台. 编程领域中的“脚手架(Scaffolding)”指的是能够快速搭建项目“骨架”的一类工具. java变成中,架构师搭建的代码结构你到处拷 ...
- 基于Spring+SpringMVC+Mybatis的Web系统搭建
系统搭建的配置大同小异,本文在前人的基础上做了些许的改动,重写数据库,增加依据权限的动态菜单的实现,也增加了后台返回json格式数据的配置,详细参见完整源码. 主要的后端架构:Spring+Sprin ...
随机推荐
- 04C++核心编程(二-泛型编程)
Day08 笔记 1 函数模板 1.1 泛型编程 – 模板技术 特点:类型参数化 1.2 template< typename T > 告诉编译器后面紧跟着的函数或者类中出现T,不要报错, ...
- 万字剖析Ribbon核心组件以及运行原理
大家好,本文我将继续来剖析SpringCloud中负载均衡组件Ribbon的源码.本来我是打算接着OpenFeign动态代理生成文章直接讲Feign是如何整合Ribbon的,但是文章写了一半发现,如果 ...
- 3D可视化在化工领域的应用及案例分享
2020年,中办.国办印发的<关于全面加强危险化学品安全生产工作的意见>中重点提出应加快"推进化工园区安全生产信息化.智能化平台建设,实现对园区内企业.重点场所.重大危险源.基础 ...
- AspNetCore&云效Flow持续集成
如今有了越来越多的持续集成工具,给的个人开发者的福利也是很足了,如无必要,自建工具有时只是作为练手了. 众多持续集成工具 现在可用的持续集成工具繁多,各大云服务商都推出了持续集成,甚至是一定条件内都是 ...
- XSS攻击(笔记)
XSS攻击 XSS概述 XSS即跨站脚本攻击,(Cross-Site Scripting, CSS),但是为了与层叠样式表(Cascading Style Sheets, CSS)缩写区分开来,所以命 ...
- js与java encodeURI 进行编码与解码
JS escape()使用转义序列替换某些字符来对字符串进行编码 JavaScript 中国 编码后 JavaScript %u4E2D%u56FD unescape()对使用 encodeUR ...
- 基于Mybatis插件方式实现数据脱敏处理
一.项目介绍 1.项目背景 有时候我们数据库中存储一些敏感的信息比如手机号.银行卡号,我们希望我们查询出来的的时候对一些敏感信息做一些脱敏处理. 当面项目是基于自定义Mybatis插件方式实现数据脱敏 ...
- NC14683 储物点的距离
NC14683 储物点的距离 题目 题目描述 一个数轴,每一个储物点会有一些东西,同时它们之间存在距离. 每次给个区间 \([l,r]\) ,查询把这个区间内所有储物点的东西运到另外一个储物点的代价是 ...
- Tapdata 数据库实时同步的技术要点
Tapdata 是由深圳钛铂数据有限公司研发的一款实时数据处理及服务的平台产品,企业可以使用 Tapdata 快速构建数据中台和实时数仓, Tapdata 提供了一站式的解决方案,包括实时数据采集.数 ...
- NIO.2中Path、 Paths、Files类的使用