基础依赖
<?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>3.1.5</version><relativePath/> <!-- lookup parent from repository --></parent><groupId>com.giser.mp</groupId><artifactId>giser-java-mybatis-plus</artifactId><version>0.0.1-SNAPSHOT</version><name>giser-java-mybatis-plus</name><description>giser-java-mybatis-plus</description><properties><java.version>17</java.version></properties><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><!-- mybatis-plus start --><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>3.5.4.1</version><exclusions><exclusion><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-jdbc</artifactId></exclusion></exclusions></dependency><!-- https://mvnrepository.com/artifact/com.baomidou/mybatis-plus-core --><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-core</artifactId><version>3.5.4.1</version></dependency><!-- https://mvnrepository.com/artifact/com.baomidou/mybatis-plus-extension --><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-extension</artifactId><version>3.5.4.1</version></dependency><!-- https://mvnrepository.com/artifact/com.baomidou/mybatis-plus-generator --><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-generator</artifactId><version>3.5.4.1</version></dependency><!-- mybatis-plus end --><dependency><groupId>com.baomidou</groupId><artifactId>dynamic-datasource-spring-boot-starter</artifactId><version>3.6.1</version><exclusions><exclusion><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-aop</artifactId></exclusion><exclusion><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-jdbc</artifactId></exclusion></exclusions></dependency><!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-jdbc --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-jdbc</artifactId><version>3.1.5</version></dependency><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.33</version></dependency><!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-freemarker --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-freemarker</artifactId><version>3.1.5</version></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><optional>true</optional></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-autoconfigure</artifactId><version>3.1.0</version></dependency></dependencies><build><finalName>gis-mp</finalName><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><version>2.5.4</version><configuration><mainClass>com.giser.mp.GiserJavaMybatisPlusApplication</mainClass></configuration></plugin></plugins></build></project>
代码生成
这里只是基础版,可以进行更多的配置,脱离低级简单的工作内容。
package com.giser.mp.generator;import com.baomidou.mybatisplus.core.exceptions.MybatisPlusException;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.baomidou.mybatisplus.generator.AutoGenerator;
import com.baomidou.mybatisplus.generator.config.*;
import com.baomidou.mybatisplus.generator.config.converts.MySqlTypeConvert;
import com.baomidou.mybatisplus.generator.config.rules.DateType;
import com.baomidou.mybatisplus.generator.engine.FreemarkerTemplateEngine;import java.util.Scanner;public class GeneratorCode {public static void main(String[] args) {/*** 数据源配置*/String url = "jdbc:mysql://localhost:3306/db_mybatis_plus?useSSL=false&useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&allowMultiQueries=true&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&serverTimezone=GMT%2B8";String username = "root";String password = "root";DataSourceConfig dataSourceConfig =new DataSourceConfig.Builder(url, username, password).typeConvert(new MySqlTypeConvert()).build();/*** 代码生成器*/AutoGenerator mpg = new AutoGenerator(dataSourceConfig);/*** 全局配置*/String projectPath = System.getProperty("user.dir");GlobalConfig globalConfig =new GlobalConfig.Builder().outputDir(projectPath + "/giser-java-mybatis-plus/src/test/java/com/giser/mp/common/").author("your name").enableSwagger().dateType(DateType.ONLY_DATE).disableOpenDir()
// .fileOverride().build();mpg.global(globalConfig);/*** 包配置*/PackageConfig pc =new PackageConfig.Builder().moduleName(scanner("模块名")).build();mpg.packageInfo(pc);/*** 配置模板*/TemplateConfig templateConfig =new TemplateConfig.Builder().xml(null).build();mpg.template(templateConfig);/*** 策略配置*/StrategyConfig strategy =new StrategyConfig.Builder().addInclude(scanner("表名,多个逗号分割").split(",")).addTablePrefix("t_").enableCapitalMode().build();// 控制器配置strategy.controllerBuilder().enableFileOverride().enableRestStyle().enableHyphenStyle();// 实体配置构建:设置自定义继承的Entity类全称,带包名strategy.entityBuilder().enableFileOverride().enableLombok()
// .superClass("com.gis.business.pojo.entity.BaseEntity").build();//设置命名格式
// strategy.setNaming(NamingStrategy.underline_to_camel);
// strategy.setColumnNaming(NamingStrategy.underline_to_camel);strategy.serviceBuilder().enableFileOverride().build();strategy.mapperBuilder().enableFileOverride().mapperAnnotation(org.apache.ibatis.annotations.Mapper.class).build();mpg.strategy(strategy);FreemarkerTemplateEngine freemarkerTemplateEngine = new FreemarkerTemplateEngine();mpg.execute(freemarkerTemplateEngine);}public static String scanner(String tip) {Scanner scanner = new Scanner(System.in);StringBuilder help = new StringBuilder();help.append("请输入" + tip + ":");System.out.println(help.toString());if (scanner.hasNext()) {String ipt = scanner.next();if (StringUtils.isNotBlank(ipt)) {return ipt;}}throw new MybatisPlusException("请输入正确" + tip + "!");}}