一、介绍

代码生成器是mybatisplus提供的一项功能,能直接根据一个数据库里面的所以表进行直接生成相应的entity、mapper、service、serviceImpl、controller类

二、操作步骤

(1)创建springboot项目

(2)添加相应pom.xml坐标

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.7.5</version><relativePath/> <!-- lookup parent from repository --></parent><groupId>com.igxia</groupId><artifactId>myBatisPlusGenerator</artifactId><version>0.0.1-SNAPSHOT</version><name>myBatisPlusGenerator</name><description>myBatisPlusGenerator</description><properties><java.version>1.8</java.version></properties><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><!--mybatisplus依赖--><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>3.4.2</version></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId></dependency><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><scope>runtime</scope></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope><exclusions><exclusion><groupId>org.junit.vintage</groupId><artifactId>junit-vintage-engine</artifactId></exclusion></exclusions></dependency>
<!--        代码生成器--><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-generator</artifactId><version>3.2.0</version></dependency><dependency><groupId>org.apache.velocity</groupId><artifactId>velocity-engine-core</artifactId><version>2.2</version></dependency></dependencies><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><configuration><excludes><exclude><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId></exclude></excludes></configuration></plugin></plugins></build></project>

其中的mybatis-plus-generator和velocity-engine-core为代码生成器所需依赖,但是mysql和web等其他部分以来也需要。

<dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-generator</artifactId><version>3.2.0</version>
</dependency>
<dependency><groupId>org.apache.velocity</groupId><artifactId>velocity-engine-core</artifactId><version>2.2</version>
</dependency>

(3)配置文件调整

mybatis-plus:global-config:db-config:logic-delete-value: 1logic-not-delete-value: 0

(4)编写代码生成器类
这个类的位置没有硬性要求,放在任意包(本项目中)或者编写成测试类都可。
像我这里为编写成测试类。

package com.igxia.mybatisplusgenerator;import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.annotation.IdType;
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.rules.DateType;
import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;import org.junit.jupiter.api.Test;public class CodeGenerator {@Testpublic void main1() {// 1、创建代码生成器AutoGenerator mpg = new AutoGenerator();// 2、全局配置GlobalConfig gc = new GlobalConfig();String projectPath = System.getProperty("user.dir");System.out.println(projectPath);gc.setOutputDir(projectPath + "/src/main/java");gc.setAuthor("igxia");gc.setOpen(false); //生成后是否打开资源管理器gc.setFileOverride(false); //重新生成时文件是否覆盖/** mp生成service层代码,默认接口名称第一个字母有 I* UcenterService* */gc.setServiceName("%sService");    //去掉Service接口的首字母Igc.setIdType(IdType.ID_WORKER); //主键策略gc.setDateType(DateType.ONLY_DATE);//定义生成的实体类中日期类型gc.setSwagger2(true);//开启Swagger2模式mpg.setGlobalConfig(gc);// 3、数据源配置DataSourceConfig dsc = new DataSourceConfig();dsc.setUrl("jdbc:mysql://localhost:3306/hm_shop?characterEncoding=UTF-8&serverTimezone=Asia/Shanghai");dsc.setDriverName("com.mysql.cj.jdbc.Driver");dsc.setUsername("root");dsc.setPassword("123456");dsc.setDbType(DbType.MYSQL);mpg.setDataSource(dsc);// 4、包配置PackageConfig pc = new PackageConfig();pc.setParent("com.igxia");pc.setModuleName("mybatisplusgenerator"); //模块名pc.setController("controller");pc.setEntity("entity");pc.setService("service");pc.setMapper("mapper");mpg.setPackageInfo(pc);// 5、策略配置StrategyConfig strategy = new StrategyConfig();
//        strategy.setInclude("pay");strategy.setNaming(NamingStrategy.underline_to_camel);//数据库表映射到实体的命名策略strategy.setTablePrefix(pc.getModuleName() + "_"); //生成实体时去掉表前缀strategy.setColumnNaming(NamingStrategy.underline_to_camel);//数据库表字段映射到实体的命名策略strategy.setEntityLombokModel(true); // lombok 模型 @Accessors(chain = true) setter链式操作strategy.setRestControllerStyle(true); //restful api风格控制器strategy.setControllerMappingHyphenStyle(true); //url中驼峰转连字符mpg.setStrategy(strategy);// 6、执行mpg.execute();}
}

(5)运行CodeGenerator
直接运行所编写的main方法或者测试方法即可生成。
相关包名和数据库路径和密码等根据自己实际情况进行更改即可。

MyBatisPlus代码生成器(CodeGenerator)相关推荐

  1. Mybatis-Plus代码生成器CodeGenerator

    根据官网和项目需要写了个CodeGenerator,一些需要根据自己项目进行更改 package szp.blog.xblog;import com.baomidou.mybatisplus.anno ...

  2. 实战:一键生成前后端代码,Mybatis-Plus代码生成器让我舒服了

    前言 在日常的软件开发中,程序员往往需要花费大量的时间写CRUD,不仅枯燥效率低,而且每个人的代码风格不统一.MyBatis-Plus 代码生成器,通过 AutoGenerator 可以快速生成 En ...

  3. mybatisplus代码生成器3.5.2

    Mybatis-plus最新代码生成器(3.5.1+)的使用 mybatis-plus 代码生成器(3.5.2) @Autowiredprivate CodeGeneratorMapper codeG ...

  4. Spring Cloud微服务之Mybatis-Plus代码生成器整合(四)

    Spring Boot与Mybatis-Plus整合,以及整合代码生成器 在parent模块中确定依赖的版本 确定依赖的版本 <!--确定依赖的版本--> <properties&g ...

  5. SpringBoot集成MyBatis-Plus代码生成器(Dao)

    1.说明 本文基于SpringBoot集成MyBatis-Plus代码生成器, 把原来生成Entity.Mapper.Mapper XML.Service.Controller等各个模块的代码, 修改 ...

  6. SpringBoot集成MyBatis-Plus代码生成器

    1.说明 本文详细介绍Spring Boot集成MyBatis-Plus代码生成器的方法. 基于一个创建好的Spring Boot工程, 执行MyBatis-Plus提供的AutoGenerator代 ...

  7. 第 6 章 MybatisPlus 代码生成器

    第 6 章 MybatisPlus 代码生成器 1.代码生成器简介 MybatisPlus AutoGenerator 代码生成器的简介 MybatisPlus 提供了强大的代码生成器,可以快速生成各 ...

  8. 苞米豆MyBatis-plus代码生成器

    MyBatis-plus 代码生成器 一.首先导入MyBatis-plus的依赖 二 .生成代码编写 一.首先导入MyBatis-plus的依赖 <!--苞米豆MyBatis依赖 -->& ...

  9. MybatisPlus代码生成器实现只覆盖指定文件

    MybatisPlus代码生成器实现只覆盖指定文件 问题 在使用MybatisPlus的过程中如果数据库结构发生了改变(增加或者删除了字段),应该怎么办? 重新运行代码生成器? 手动去Entity里面 ...

  10. MyBatis-Plus 代码生成器最新版配置方案

    因为最近写项目使用到了MyBatis-Plus,所以去官网找到了一个代码生成器的新版,现在网上能查到的都是之前的旧版生成器代码,官方提供的快速生成没有开启Lombok.RestController还有 ...

最新文章

  1. kafka 主动消费_SpringBoot2 整合Kafka组件,应用案例和流程详解
  2. 如何删除空文件夹Java_JAVA实现将磁盘中所有空文件夹进行删除的代码
  3. c#中Dictionary、ArrayList、Hashtable和数组 Array 的区别(转)
  4. JAVA基础-关键字与保留字
  5. Google Perf Tools安装以及使用
  6. Js 跨域CORS报错 Response for preflight has invalid HTTP status code 405
  7. Android的Button监听
  8. php如何只删去汉字,php如何删除字符串中的中文
  9. [转载] windows安装mysql及使用navicat连接
  10. iNOC产品部--完全数计算
  11. CodeBlock的安装、配置和运行
  12. 移动硬盘安装manjaro 20.2以及常用软件安装
  13. 干货 | 对象存储的跨地域复制概述
  14. 游戏音效分类以及运用场景
  15. C语言是什么?都包括哪些?
  16. java基于Springboot的幼儿园管理系统-计算机毕业设计
  17. Android 使用adb卸载apk
  18. 已读不回,是2022年招聘软件上看到的最多的状态了
  19. 百济神州新建苏州创新药物产业化基地启动奠基;大湾区广州泰和肿瘤医院开业 | 医药健闻...
  20. SCMS读书笔记二——证书类型

热门文章

  1. 3.4. Transactions
  2. android曲面屏触摸事件,Android屏幕适配完美解决方案(曲面屏手机也是小Case)
  3. 【转】android MSM8974 上DeviceTree简介----不错
  4. 《秘密》卷一:秘密-吸引力法则
  5. 网络对抗技术——网络嗅探与欺骗(第三部分)
  6. caused by java.io.io_疑难杂症之 Error:java.io.InvalidClassException
  7. 中国航天日,让我们一起遨游浩瀚宇宙,拥抱星辰大海
  8. Python之路第一课Day2--随堂笔记
  9. 传QQ将开展词典业务 正式进入金山词霸的传统领地
  10. springboot的精髓