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 ...
随机推荐
- js算法-计算素数暴力算法
- DML数据操作语言
DML数据操作语言 用来对数据库中表的数据记录进行更新.(增删改) 插入insert -- insert into 表(列名1,列名2,列名3...) values (值1,值2,值3...):向表中 ...
- 《C Primer Plus》第六版笔记--1~3章
目录 第一章 初识C语言 1 使用C语言的7个步骤 1.1 定义程序目标 1.2 设计程序(功能实现) 1.3 编写代码 1.4 编译 1.5 运行程序 1.6 测试和调试程序 1.7 维护和修改代码 ...
- .NET C#杂谈(1):变体 - 协变、逆变与不变
0. 文章目的: 介绍变体的概念,并介绍其对C#的意义 1. 阅读基础 了解C#进阶语言功能的使用(尤其是泛型.委托.接口) 2. 从示例入手,理解变体 变体这一概念用于描述存在继承关系的 ...
- 1. Docker的中央仓库安装设置及镜像的操作
具体也可参考:https://developer.aliyun.com/mirror/docker-ce?spm=a2c6h.13651102.0.0.3e221b11G7cfhr https://d ...
- 一文get到SOLID原则的重点
最近没事再次翻开<敏捷软件开发:原则.模式与实践>看,发现以前似懂非懂的东西突然就看懂了,get到了讲的重点. SOLID(单一职责原则.开放-封闭原则.里氏替换原则.接口隔离原则以及 ...
- Vmware-Centos7-NAT 网络配置
首先一句话总结 NAT模式下,将VMware Network Adapter VMnet8的IP改为与虚拟机IP同一网段即可. 操作步骤 1. 打开虚拟网络编辑器 2. 配置NAT 选择NAT模式,取 ...
- Spring IOC 为什么能降低耦合
有同学在学习 Spring 框架中可能会问这样的问题,为什么通过依赖注入就可以降低代码间的耦合呢?我通过 new 生产对象不也可以吗,不就是一行代码的不同,一个是 @Resource 注入,一个是 n ...
- js烧脑面试题大赏
本文精选了20多道具有一定迷惑性的js题,主要考察的是类型判断.作用域.this指向.原型.事件循环等知识点,每道题都配有笔者详细傻瓜式的解析,偏向于初学者,大佬请随意. 第1题 let a = 1 ...
- IDEA中Maven Project所在位置
难免有小伙伴找不着这个在哪. 一.首先就是可以在下面这个位置查询到: 二.如果找不着,那么在这里找: 三.如果还找不到,那就没有是你刚导入的项目没有Add Maven, 下面这个图是我Add Mav ...