mybatis plus 代码生成器
1.功能
替你生成 controller , service ,dao ,mapper, 基本上不要自己创建文件了
2.依赖
- mybatis-plus-generator
<!-- https://mvnrepository.com/artifact/com.baomidou/mybatis-plus-generator -->
<dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-generator</artifactId><version>3.3.0</version>
</dependency>
- velocity
<!-- https://mvnrepository.com/artifact/org.apache.velocity/velocity-engine-core -->
<dependency><groupId>org.apache.velocity</groupId><artifactId>velocity-engine-core</artifactId><version>2.1</version>
</dependency>
3.代码生成器
需要根据自己的数据进行配置
我使用的是oracle
package com.atoz.mpm.project.Utils;import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.generator.AutoGenerator;
import com.baomidou.mybatisplus.generator.config.*;
import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
import com.baomidou.mybatisplus.generator.engine.VelocityTemplateEngine;/*** 1. 注意: 数据库里为Number类型的字段* 1~4 --short类型* 5~9 --Integer类型* 10~18 --Long类型* 18+ --BigDecimal类型* 所以建表时需要指定Number字段的长度** 2. 注意* 实体类主键需要手写* 如* @TableId(type= IdType.ASSIGN_UUID)** 3. 注意* TBL_USER 生成 User对象* 需要去除表名的前缀* setTablePrefix("TBL", "SYS","MPM")*** @author baojian.yuan* @date 2020/1/13* @time 17:52*/
public class Generator {public static void main(String[] args) {Generator g = new Generator();boolean startWithI = false;// 1.模块名String projectName = "mpmsystem-project";// 2.代码位置String packageName = "com.atoz.mpm.project";// 3.表名String[] tableNameArray={"MPM_COMM_PROJECT", "TBL_FEATURE"} ;g.generateByTables(startWithI,projectName,packageName, tableNameArray);}/*** 根据表自动生成** @param serviceNameStartWithI 默认为false* @param packageName 包名* @param tableNames 表名*/private void generateByTables(boolean serviceNameStartWithI,String projectName, String packageName, String... tableNames) {// 1.配置数据源DataSourceConfig dataSourceConfig = getDataSourceConfig();// 2.策略配置StrategyConfig strategyConfig = getStrategyConfig(tableNames);// 3.全局变量配置GlobalConfig globalConfig = getGlobalConfig(serviceNameStartWithI,projectName);// 4.包名配置PackageConfig packageConfig = getPackageConfig(packageName);// 5.自动生成atuoGenerator(dataSourceConfig, strategyConfig, globalConfig, packageConfig);}/*** 集成** @param dataSourceConfig 配置数据源* @param strategyConfig 策略配置* @param config 全局变量配置* @param packageConfig 包名配置*/private void atuoGenerator(DataSourceConfig dataSourceConfig, StrategyConfig strategyConfig, GlobalConfig config, PackageConfig packageConfig) {new AutoGenerator().setGlobalConfig(config).setDataSource(dataSourceConfig).setStrategy(strategyConfig).setPackageInfo(packageConfig).setTemplateEngine(new VelocityTemplateEngine()).execute();}/*** 设置包名** @param packageName 父路径包名* @return PackageConfig 包名配置*/private PackageConfig getPackageConfig(String packageName) {return new PackageConfig().setParent(packageName).setXml("mapping").setMapper("dao").setController("controller").setService("service").setEntity("model");}/*** 全局配置** @param serviceNameStartWithI false* @return GlobalConfig*/private GlobalConfig getGlobalConfig(boolean serviceNameStartWithI,String projectName) {GlobalConfig globalConfig = new GlobalConfig();globalConfig.setBaseColumnList(true).setBaseResultMap(true).setActiveRecord(false).setAuthor("ybj")// 设置输出路径.setOutputDir(System.getProperty("user.dir")+ "/" +projectName +"/src/main/java/")// 是否覆盖文件.setFileOverride(true);if (!serviceNameStartWithI) {//设置service名globalConfig.setServiceName("%sService");}return globalConfig;}/*** 策略配置** @param tableNames 表名* @return StrategyConfig*/private StrategyConfig getStrategyConfig(String... tableNames) {return new StrategyConfig()// 全局大写命名 ORACLE 注意.setCapitalMode(true).setEntityLombokModel(true).setRestControllerStyle(true)//从数据库表到文件的命名策略.setNaming(NamingStrategy.underline_to_camel).setColumnNaming(NamingStrategy.underline_to_camel)//需要生成的的表名,多个表名传数组.setInclude(tableNames).setTablePrefix("TBL", "SYS","MPM");}/*** 配置数据源** @return 数据源配置 DataSourceConfig*/private DataSourceConfig getDataSourceConfig() {return new DataSourceConfig().setDbType(DbType.ORACLE).setUrl("jdbc:oracle:thin:@192.168.6.193:1521:cappdb").setUsername("c##devuser").setPassword("devuser").setDriverName("oracle.jdbc.driver.OracleDriver");}}
mybatis plus 代码生成器相关推荐
- MyBatis Plus Generator——MyBatis Plus代码生成器DEMO
官方文档 https://mp.baomidou.com/guide/generator.html Maven <dependency><groupId>mysql</g ...
- Mybatis Plus————代码生成器
代码生成器 MyBatis Plus是MyBatis的扩展框架,而代码生成器是MP的核心功能之一,另外还有 "条件构造器"和"通用CRUD"等功能. 步骤演示 ...
- Mybatis Plus 代码生成器-让上班划水不再是梦
文章目录 1. 废话哔哔 2. 开搞 2.1 核心maven依赖 2.2 Spring Boot主要配置 2.3 Mybatis Plus 代码生成器代码 2.4生成的代码结构如下 1. 废话哔哔 不 ...
- 视频教程-MyBatis Generator代码生成器视频教程-Java
MyBatis Generator代码生成器视频教程 Java讲师,多年培训经验,曾参与开发过的项目:某省电信ODS系统.电信自助取数系统.CRM客户关系管理系统.环境应急信息系统.自来水客服系统等. ...
- MyBatis Generator 代码生成器
MyBatis Generator 代码生成器 MyBatis Generator简介 MyBatis Generator(MBG)是MyBatis 的代码生成器.它将为MyBatis的所有版本生成代 ...
- mybatisplus代码生成器_想做时间管理大师?你可以试试Mybatis Plus代码生成器
1. 前言 对于写Crud的老司机来说时间非常宝贵,一些样板代码写不但费时费力,而且枯燥无味.经常有小伙伴问我,胖哥你怎么天天那么有时间去搞新东西,透露一下秘诀呗. 好吧,今天就把Mybatis-pl ...
- mybatis maven 代码生成器(mysql)
pom.xml <?xml version="1.0" encoding="UTF-8"?> <project xmlns="htt ...
- Spring boot + mybatis + oracle代码生成器
在pom文件中加入依赖 <build><plugins><!--逆向工程--><plugin><groupId>org.mybatis.ge ...
- SpringBoot 系列教程(五十一):SpringBoot整合Mybatis Plus代码生成器,自动生成代码
MyBatis-Plus 为简化开发而生 快速开始 → 一.简介 MyBatis-Plus (简称 MP)是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发. ...
最新文章
- 2022-2028年中国硅胶手套产业竞争现状及发展趋势分析报告
- cefsharp 发送请求服务器_WEB服务器之HTTP协议
- JavaScript引用类型之Array数组之强大的splice()方法
- 使用matlab做可重复性实验结果——rng
- debug —— C语言 编译时候进行debug的调试
- 最全的IDEA快捷键
- java 文件 递归_JAVA实现遍历文件夹下的所有文件(递归调用和非递归调用)
- plsql强制关闭后再打开提示已停止工作的解决办法
- Maven工程Spring框架AOP的简单使用
- timeSetEvent的用法(一)
- AMD规范和requirejs入门
- web应用,HTTP协议以及Django初次认识与安装
- java 拼音的模糊匹配 算法_c#拼音模糊匹配算法
- ISO4443A与ISO14443B的区别
- 嵌入式软件工程师工作经验分享
- C/C++编程学习 - 第16周 ④ 计算分数加减表达式的值
- android程序设计排序方法,Android编程实现对文件夹里文件排序的方法
- [转帖]AMD、英特尔为何争相走向胶水多核处理器?真相在此
- 验证码识别逻辑回归案例
- Emoji表情后台处理