Java基础|mybatisPlus代码生成器

1 前言 mybatisPlus的代码生成器可以帮助我们省去很多需要手动去写的配置如:Entity、Mapper、Mapper XML、Service、Controller模块代码
2 实操 1)创建一个springBoot项目(这里不再演示)
2)引入相关依赖


4.0.0org.springframework.boot spring-boot-starter-parent 2.6.7 com.liubujun mybatis-plus-auto-generator 0.0.1-SNAPSHOT mybatis-plus-auto-generator Demo project for Spring Boot【Java基础|mybatisPlus代码生成器】1.8 org.springframework.boot spring-boot-starter-web org.springframework.boot spring-boot-starter org.springframework.boot spring-boot-starter-test test com.baomidou mybatis-plus-boot-starter 3.4.0 com.baomidou mybatis-plus-generator 3.4.0 org.apache.velocity velocity-engine-core 2.2 mysql mysql-connector-java org.projectlombok lombok org.springframework.boot spring-boot-maven-plugin

3)配置文件
spring.datasource.username=root spring.datasource.password=lj123456 spring.datasource.url=jdbc:mysql://localhost:3306/shop?useUnicode=true&characterEncoding=utf-8&serverTimezone=GMT%2B8 spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

4)数据库表
Java基础|mybatisPlus代码生成器
文章图片

5)编写配置
package com.liubujun; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.core.exceptions.MybatisPlusException; 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.apache.commons.lang3.StringUtils; import java.util.Scanner; /** * @Author: liubujun * @Date: 2022/5/7 14:54 */public class Generator {public static String scanner(String tip) { Scanner scanner = new Scanner(System.in); StringBuilder stringBuilder = new StringBuilder(); stringBuilder.append("请输入").append(tip).append(":"); System.out.println(stringBuilder.toString()); if (scanner.hasNext()) { String ipt = scanner.next(); if (StringUtils.isNotBlank(ipt)) { return ipt; } } throw new MybatisPlusException("请输入正确的" + tip + "!"); }public static void main(String[] args) { // 代码生成器 AutoGenerator mpg = new AutoGenerator(); // 全局配置 GlobalConfig gc = new GlobalConfig(); String projectPath = System.getProperty("user.dir"); gc.setOutputDir(projectPath + "/src/main/java"); //设置代码生成路径 gc.setFileOverride(true); //是否覆盖以前文件 gc.setOpen(false); //是否打开生成目录 gc.setAuthor("liubujun"); //设置项目作者名称 gc.setIdType(IdType.AUTO); //设置主键策略 gc.setBaseResultMap(true); //生成基本ResultMap gc.setBaseColumnList(true); //生成基本ColumnList gc.setServiceName("%sService"); //去掉服务默认前缀 gc.setDateType(DateType.ONLY_DATE); //设置时间类型 //gc.setSwagger2(true); //实体属性 swagger注解 mpg.setGlobalConfig(gc); // 数据源配置 DataSourceConfig dsc = new DataSourceConfig(); dsc.setUrl("jdbc:mysql://localhost:3306/shop?useUnicode=true&characterEncoding=utf-8&serverTimezone=GMT%2B8"); dsc.setDriverName("com.mysql.cj.jdbc.Driver"); dsc.setUsername("root"); dsc.setPassword("lj123456"); mpg.setDataSource(dsc); // 包配置 PackageConfig pc = new PackageConfig(); pc.setParent("com.liubujun"); pc.setMapper("mapper"); pc.setXml("mapper.xml"); pc.setEntity("pojo"); pc.setService("service"); pc.setServiceImpl("service.impl"); pc.setController("controller"); mpg.setPackageInfo(pc); // 策略配置 StrategyConfig sc = new StrategyConfig(); sc.setNaming(NamingStrategy.underline_to_camel); sc.setColumnNaming(NamingStrategy.underline_to_camel); sc.setEntityLombokModel(true); //自动lombok sc.setRestControllerStyle(true); sc.setControllerMappingHyphenStyle(true); sc.setLogicDeleteFieldName("deleted"); //设置逻辑删除//sc.setTablePrefix("tbl_"); 设置表名前缀 sc.setInclude(scanner("表名,多个英文逗号分割").split(",")); mpg.setStrategy(sc); // 生成代码 mpg.execute(); }}

6)测试:
输入想要生成相关配置的表名
Java基础|mybatisPlus代码生成器
文章图片

结果如下:
Java基础|mybatisPlus代码生成器
文章图片


    推荐阅读