mybatis-plus 代码生成器

生成entity -> mapper-> service ->controller所有的接口,实现,一键完成。

1. 轮子

        <dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><scope>runtime</scope></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><optional>true</optional></dependency><!-- mybatis plus --><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>3.4.1</version></dependency><!-- code generator! --><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-generator</artifactId><version>3.4.1</version></dependency><!-- 默认的模板对象 --><dependency><groupId>org.apache.velocity</groupId><artifactId>velocity-engine-core</artifactId><version>2.2</version></dependency><!-- https://mvnrepository.com/artifact/io.springfox/springfox-swagger2 --><dependency><groupId>io.springfox</groupId><artifactId>springfox-swagger2</artifactId><version>2.9.2</version></dependency><!-- https://mvnrepository.com/artifact/io.springfox/springfox-swagger-ui --><dependency><groupId>io.springfox</groupId><artifactId>springfox-swagger-ui</artifactId><version>2.9.2</version></dependency>

2. 核心代码

开箱即用。配置好数据库地址

package cn.bitqian;import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.annotation.FieldFill;
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.po.TableFill;
import com.baomidou.mybatisplus.generator.config.rules.DateType;
import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;import java.util.ArrayList;
import java.util.List;/*** 使用mybatis 生成代码 all** <a>*     https://baomidou.com/config/generator-config.html* </p>* @author echo lovely* @date 2020/11/17 09:07*/public class CodeGenerator {public static void main(String[] args) {// 代码生成器AutoGenerator autoGenerator = new AutoGenerator();// 全局配置GlobalConfig globalConfig = new GlobalConfig();globalConfig.setFileOverride(false);globalConfig.setOpen(false);// 出掉接口globalConfig.setServiceName("%sService");// 设置输出目录globalConfig.setOutputDir(System.getProperty("user.dir") + "/src/main/java");globalConfig.setAuthor("echo lovely");globalConfig.setDateType(DateType.ONLY_DATE);// 开启swaggerglobalConfig.setSwagger2(true);autoGenerator.setGlobalConfig(globalConfig);// dataSource 配置DataSourceConfig dataSourceConfig = new DataSourceConfig();dataSourceConfig.setUrl("jdbc:mysql://localhost:3306/mybatis_study?useUnicode=true&useSSL=false&characterEncoding=utf8&serverTimezone=Asia/Shanghai");dataSourceConfig.setDriverName("com.mysql.cj.jdbc.Driver");dataSourceConfig.setUsername("root");dataSourceConfig.setPassword("123456");dataSourceConfig.setDbType(DbType.MYSQL);autoGenerator.setDataSource(dataSourceConfig);// 包配置PackageConfig pkgConfig = new PackageConfig();pkgConfig.setParent("cn.bitqian");pkgConfig.setMapper("mapper");pkgConfig.setEntity("entity");pkgConfig.setService("service");pkgConfig.setController("controller");autoGenerator.setPackageInfo(pkgConfig);// 设置模板引擎autoGenerator.setTemplateEngine(null);autoGenerator.setTemplate(null);// 自定义策略StrategyConfig strategy = new StrategyConfig();// camel命名规则strategy.setNaming(NamingStrategy.underline_to_camel);strategy.setColumnNaming(NamingStrategy.underline_to_camel);strategy.setControllerMappingHyphenStyle(true); // id_1_1strategy.setRestControllerStyle(true);// 开启lombok注解strategy.setEntityLombokModel(true);// 设置要生成的表 ... 这里有三个表strategy.setInclude("account", "user", "role");// 逻辑删除 的字段// strategy.setLogicDeleteFieldName("deleted");// 自动填充配置// 自动填充的字段List<TableFill> tableFillList = new ArrayList<>();TableFill fill1 = new TableFill("date", FieldFill.INSERT);tableFillList.add(fill1);// 设置填充的字段strategy.setTableFillList(tableFillList);// 乐观锁 字段strategy.setVersionFieldName("version");autoGenerator.setStrategy(strategy);// 开启代码生成...autoGenerator.execute();}}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/420509.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

电脑报错找不到msvcr100.dll,无法继续执行代码如何修复

在电脑使用过程中&#xff0c;我们经常会遇到一些错误提示&#xff0c;其中之一就是MSVCR100.dll丢失。那么&#xff0c;MSVCR100.dll到底是什么&#xff1f;它的作用是什么&#xff1f;为什么会丢失呢&#xff1f;本文将详细介绍MSVCR100.dll的定义、作用以及丢失的原因&#…

windows下面虚拟主机

1. wondows xp apmserv 5.2.6 端口8088 2.httpd.config文件 1. ServerRoot      "D:/APMServ/APMServ5.2.6/Apache" Listen        8088 ServerName     127.0.0.1:8088 DocumentRoot   "D:/APMServ/APMServ5.2.6/www/" (原文未变)…

QueryWrapper查询

QueryWrapper, mybatisplus 中封装了大量的查询方法。用于高级查询。传入表的列和查询的值&#xff0c;就能反射对应的sql. 简化了查询。 更多api&#xff0c;查询使用&#xff0c;看&#xff1a; https://baomidou.com/guide/wrapper.html package cn.bitqian;import cn.bit…

Smooks转换设计

Smooks转换设计 背景 不同的合作银行对应的外部接口是不一样的,我们需要把外部这些变化不定的接口格式,转换为我们银保通系统可以识别的内部接口.Smooks可以很好的解决这一问题.并且,当合作银行的接口随着业务的变化而发生变化时,smooks只需要通过变更转换模板,就可以实现对变化…

mybatis一级,二级缓存。缓存带来的脏读问题

title1. 关于缓存的介绍2. 一级缓存&#xff0c;默认开启&#xff0c;session级别3. 二级缓存&#xff0c;mapper 的namespace级别1. 关于缓存的介绍 Mybatis一级缓存的作用域是同一个SqlSession&#xff0c;在同一个sqlSession中两次执行相同的sql语句&#xff0c;第一次执行完…

接口限流实践

http://www.cnblogs.com/LBSer/p/4083131.html 一、问题描述 某天A君突然发现自己的接口请求量突然涨到之前的10倍&#xff0c;没多久该接口几乎不可使用&#xff0c;并引发连锁反应导致整个系统崩溃。如何应对这种情况呢&#xff1f;生活给了我们答案&#xff1a;比如老式电…

ssm整合,使用maven分模块

linux, docker&#xff0c;redis&#xff0c;rabbit兔子&#xff0c;es… juc… 还有最近的项目&#xff0c;单线程快block了。 代码&#xff1a;整合 https://github.com/sevenyoungairye/ssm-demo/tree/master/ssm_maven 你需要&#xff1a; git clone gitgithub.com:seve…

Linux基本命令 (一)

linux is not unix … 命令使用描述pwdpwd查看当前的目录路径whowho 或者 who am i 或者 whoami查看当前用户cdcd /usr/bin 或者 cd / 或者 cd ../进入usr的bin目录下&#xff1b;进入根目录;或者进入上一个目录cdcd directorycd 相对路径或者绝对路径lsls -a 或者 ls - l 或者…

【JSP】jsp报错:Syntax error, insert } to complete MethodBody

使用MyEclipse编写JSP的时候有时会报错误如下 Syntax error, insert "}" to complete MethodBody 大体意思就是说方法体缺少缺少一个"}"&#xff0c;但是一般都找不到到底是哪里缺少了"}"&#xff0c;而且一般情况下不影响程序的正常运行&#x…

linux中的文件,文件夹,链接的权限划分

title权限代号与分组如何修改权限&#xff1a;权限代号与分组 当你敲下ll时 ll 箭头所指就表示这个文件的权限和所有者 最前面的, 以access这个文件夹为例分析。 drwxr-xr-x 分组 d rwx r-x r-x 将rwx, r-x, r-x 分为三组。 d表示是个目录。 其中rwx表示属于当前用户的权限…

思维探索者:从问题到答案的思维过程 像侦探一样思考

http://www.nowamagic.net/librarys/veda/detail/1710目前几乎所有的算法书的讲解方式都是欧几里德式的、瀑布式的、自上而下的、每一个推导步骤都是精准制导直接面向目标的。由因到果&#xff0c;定义、引理、定理、证明 一样不少&#xff0c;井井有条一丝不乱毫无赘肉。而实际…

centos7,google身份验证

为了安全&#xff0c;登录时需要google的动态验证码验证。当你输入服务器的登录密码后&#xff0c;输入动态验证码。这个验证码是google app 身份验证器根据当前时间算出来的。所有centos上的时间必须和当前时间同步。 在centos上安装google的身份验证器&#xff0c;结果会出现…

ASSERT函数

assert宏的原型定义在<assert.h>中&#xff0c;其作用是假设它的条件返回错误&#xff0c;则终止程序运行&#xff0c;原型定义&#xff1a; #include <assert.h> void assert( int expression ); assert的作用是现计算表达式 expression &#xff0c;假设其值为…