MyBatis-Plus代码生成器的使用详解
作者:dessw 发布时间:2022-09-04 23:14:40
标签:MyBatis-Plus,代码生成器
1.引入依赖
<!--mybatisplus依赖-->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.0.5</version>
</dependency>
<!--代码生成模板-->
<dependency>
<groupId>org.apache.velocity</groupId>
<artifactId>velocity-engine-core</artifactId>
<version>2.0</version>
</dependency>
2.生成器代码
public class CodeEasy {
public static void main(String[] args) {
//创建代码生成器对象
AutoGenerator autoGenerator=new AutoGenerator();
// 1.全局配置
GlobalConfig globalConfig=new GlobalConfig();
globalConfig.setActiveRecord(true)//是否支持AR模式
.setAuthor("wsy")//作者
.setOutputDir("G://MybatisPlus/mybatisplus/src/main/java")//生成路径
.setOpen(false)//是否打开资源管理器
.setFileOverride(true)//生成文件覆盖
.setIdType(IdType.AUTO)//主键策略
.setServiceName("%sService")//设置生成service接口的名字首字母是否为I
.setDateType(DateType.ONLY_DATE);
autoGenerator.setGlobalConfig(globalConfig);
//2.设置数据源
DataSourceConfig dsc=new DataSourceConfig();
dsc.setUrl("jdbc:mysql://localhost:3306/mybatis_plus?useUnicode=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC&characterEncoding=UTF-8");
dsc.setDriverName("com.mysql.cj.jdbc.Driver");
dsc.setUsername("root");
dsc.setPassword("root");
dsc.setDbType(DbType.MYSQL);
autoGenerator.setDataSource(dsc);
//3.包的配置
PackageConfig pc=new PackageConfig();
// pc.setModuleName("mybatisplus");//设置模块名
pc.setParent("com.sise");
pc.setEntity("bean");
pc.setMapper("mapper");
pc.setService("service");
pc.setController("controller");
autoGenerator.setPackageInfo(pc);
//4.策略配置
StrategyConfig strategy = new StrategyConfig();
strategy.setInclude("user"); // 设置要映射的表名
strategy.setNaming(NamingStrategy.underline_to_camel);//设置命名规则,允许驼峰命名
strategy.setColumnNaming(NamingStrategy.underline_to_camel);//设置命名规则,允许列驼峰命名
strategy.setEntityLombokModel(true); // 自动lombok;
strategy.setLogicDeleteFieldName("deleted");//设置逻辑删除的名字
// 自动填充配置
TableFill gmtCreate = new TableFill("gmt_create", FieldFill.INSERT);//设置自动填充创建时间
TableFill gmtModified = new TableFill("gmt_modified",FieldFill.INSERT_UPDATE);//设置自动填充修改时间
ArrayList<TableFill> tableFills = new ArrayList<>();
tableFills.add(gmtCreate);
tableFills.add(gmtModified);
strategy.setTableFillList(tableFills);
// 乐观锁
strategy.setVersionFieldName("version");
strategy.setRestControllerStyle(true);//controller层使用rest风格
strategy.setControllerMappingHyphenStyle(true); //localhost:8080/hello_id_2
autoGenerator.setStrategy(strategy);
autoGenerator.execute();
}
}
3.运行后生成的结果
来源:https://blog.csdn.net/weixin_45081813/article/details/110152027


猜你喜欢
- zuul动态路由网关服务是流量的唯一入口。不能随便停服务。所以动态路由就显得尤为必要。数据库动态路由基于事件刷新机制热修改zuul的路由属性
- java模拟TCP通信实现客户端上传文件到服务器端,供大家参考,具体内容如下客户端package com.zr;import java.io
- 问:怎样才能将XML文件导入SQL Server 2000? 答:将XML文件导入SQL Server有若干种方法,这里提供其中的3种: 大
- 实例如下://首先要添加 System.ServiceProcess.dll 引用 ServiceController sc
- 前言前段时间学习Chart控件,对Chart控件的,怕以后忘记,所以总结一下自己的学习成果,怕以后忘记方便自己下次复习。这篇文章只是学习的文
- 什么是TaskScheduler?SynchronizationContext是对“调度程序(scheduler)&am
- 本文实例讲述了Android开发之搜索框SearchView用法。分享给大家供大家参考,具体如下:介绍:SearchView时搜索组件,可以
- 本文以一个简单的实例来说明C#策略模式的实现方法,分享给大家供大家参考。具体实现方法如下:一般来说,当一个动作有多种实现方法,在实际使用时,
- Android利用爬虫实现模拟登录的实现实例为了用手机登录校网时不用一遍一遍的输入账号密码,于是决定用爬虫抓取学校登录界面,然后模拟填写本次
- 最近项目中用到的两种文件上传方式做一下总结:一. uploadify:uploadify控件的scripts和styles在这里:图片上传J
- 本文将介绍Java在ICPC快速IO实现方法,下面看看
- 如何使用struts2 * ,或者自定义 * 。特别注意,在使用 * 的时候,在Action里面必须最后一定要引用struts2自带的 *
- SpringSecurity 框架简介Spring 是非常流行和成功的 Java 应用开发框架,Spring Security 正是 Spr
- 前言今天小编给大家带来的是用代码一键实现银行卡识别与绑定功能。银行卡识别的应用场景 介绍开发步骤前,我们先来谈谈银行卡识别的具体应用场景,
- 前言之前我们探讨过一个.class文件是如何被加载到jvm中的。但是jvm内又是如何划分内存的呢?这个内被加载到了那一块内存中?jvm内存划
- 关于Android的webview,用过的想必都不会陌生。这里我就不说webview的基本用法了,想要知道的可以去网上百多,有很多介绍web
- 本文实例讲述了C#分布式事务的超时处理的方法。分享给大家供大家参考。具体分析如下:事务是个很精妙的存在,我们在数据层、服务层、业务逻辑层等多
- 前言工作中遇到nodejs端通过aes加密,安卓客户端Java解密,同样nodejs也需要解密安卓客户端加密过来的内容,发现两个加密结果不一
- 大家好,今天我们继续来学习Android 8.0系统的适配。之前我们已经讲到了,Android 8.0系统最主要需要进行适配的地方有两处:应
- 绑定(Binding)元素介绍首先,盗用张图。这图形象的说明了Binding的机理。此处主要介绍的绑定类是System.Windows.Da