1.功能

替你生成 controller , service ,dao ,mapper, 基本上不要自己创建文件了

2.依赖

  1. 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>
  1. 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 代码生成器相关推荐

  1. MyBatis Plus Generator——MyBatis Plus代码生成器DEMO

    官方文档 https://mp.baomidou.com/guide/generator.html Maven <dependency><groupId>mysql</g ...

  2. Mybatis Plus————代码生成器

    代码生成器 MyBatis Plus是MyBatis的扩展框架,而代码生成器是MP的核心功能之一,另外还有 "条件构造器"和"通用CRUD"等功能. 步骤演示 ...

  3. Mybatis Plus 代码生成器-让上班划水不再是梦

    文章目录 1. 废话哔哔 2. 开搞 2.1 核心maven依赖 2.2 Spring Boot主要配置 2.3 Mybatis Plus 代码生成器代码 2.4生成的代码结构如下 1. 废话哔哔 不 ...

  4. 视频教程-MyBatis Generator代码生成器视频教程-Java

    MyBatis Generator代码生成器视频教程 Java讲师,多年培训经验,曾参与开发过的项目:某省电信ODS系统.电信自助取数系统.CRM客户关系管理系统.环境应急信息系统.自来水客服系统等. ...

  5. MyBatis Generator 代码生成器

    MyBatis Generator 代码生成器 MyBatis Generator简介 MyBatis Generator(MBG)是MyBatis 的代码生成器.它将为MyBatis的所有版本生成代 ...

  6. mybatisplus代码生成器_想做时间管理大师?你可以试试Mybatis Plus代码生成器

    1. 前言 对于写Crud的老司机来说时间非常宝贵,一些样板代码写不但费时费力,而且枯燥无味.经常有小伙伴问我,胖哥你怎么天天那么有时间去搞新东西,透露一下秘诀呗. 好吧,今天就把Mybatis-pl ...

  7. mybatis maven 代码生成器(mysql)

    pom.xml <?xml version="1.0" encoding="UTF-8"?> <project xmlns="htt ...

  8. Spring boot + mybatis + oracle代码生成器

    在pom文件中加入依赖 <build><plugins><!--逆向工程--><plugin><groupId>org.mybatis.ge ...

  9. SpringBoot 系列教程(五十一):SpringBoot整合Mybatis Plus代码生成器,自动生成代码

    MyBatis-Plus 为简化开发而生 快速开始 → 一.简介 MyBatis-Plus (简称 MP)是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发. ...

最新文章

  1. 2022-2028年中国硅胶手套产业竞争现状及发展趋势分析报告
  2. cefsharp 发送请求服务器_WEB服务器之HTTP协议
  3. JavaScript引用类型之Array数组之强大的splice()方法
  4. 使用matlab做可重复性实验结果——rng
  5. debug —— C语言 编译时候进行debug的调试
  6. 最全的IDEA快捷键
  7. java 文件 递归_JAVA实现遍历文件夹下的所有文件(递归调用和非递归调用)
  8. plsql强制关闭后再打开提示已停止工作的解决办法
  9. Maven工程Spring框架AOP的简单使用
  10. timeSetEvent的用法(一)
  11. AMD规范和requirejs入门
  12. web应用,HTTP协议以及Django初次认识与安装
  13. java 拼音的模糊匹配 算法_c#拼音模糊匹配算法
  14. ISO4443A与ISO14443B的区别
  15. 嵌入式软件工程师工作经验分享
  16. C/C++编程学习 - 第16周 ④ 计算分数加减表达式的值
  17. android程序设计排序方法,Android编程实现对文件夹里文件排序的方法
  18. [转帖]AMD、英特尔为何争相走向胶水多核处理器?真相在此
  19. 验证码识别逻辑回归案例
  20. Emoji表情后台处理

热门文章

  1. BAT、360、今日头条的小程序大战 谁会是最后的赢家?
  2. 求整型和浮点型绝对值的方法
  3. html5 特效 banner,精品配饰活动banner html5特效制作教程
  4. 左右联动(仿京东分类)
  5. PyQt5中为窗口添加菜单工具栏状态栏
  6. python100天-如何系统地学习 Python,100天从新手到大师
  7. 自定义下拉回弹View-掌握View冲突处理
  8. PHP语言的动态特性-Going dynamic with PHP
  9. 仿蘑菇街界面应用(1)
  10. python 画图 平滑曲线_用Python平滑曲线