generator:存放代码生成器
二、POM文件配置 2.1 父POMservice:demo代码
2.2 generator的pom4.0.0 org.springframework.boot spring-boot-starter-parent 2.5.7 com.xyp mybatis-plus-demo 0.0.1-SNAPSHOT mybatis-plus-demo mybatis-plus-demo pom generator service 1.8 3.4.3.4 3.5.1 2.5.7 1.18.22 2.3.31 2.7.0 org.springframework.boot spring-boot-starter-jdbc ${spring.version} org.springframework.boot spring-boot-starter-web ${spring.version} mysql mysql-connector-java ${mysql.version} runtime com.baomidou mybatis-plus-boot-starter ${mybatis-plus.version} com.baomidou mybatis-plus-generator ${generator.version} org.freemarker freemarker ${freemarker.version} io.springfox springfox-swagger2 ${swagger.version} io.springfox springfox-swagger-ui ${swagger.version} org.springframework.boot spring-boot-devtools runtime true ${spring.version} org.projectlombok lombok true ${lombok.version} org.springframework.boot spring-boot-starter-test test ${spring.version} org.springframework.boot spring-boot-maven-plugin org.projectlombok lombok spring-milestones Spring Milestones https://repo.spring.io/milestone false spring-snapshots Spring Snapshots https://repo.spring.io/snapshot false spring-milestones Spring Milestones https://repo.spring.io/milestone false spring-snapshots Spring Snapshots https://repo.spring.io/snapshot false
2.3 service的pom4.0.0 com.xyp mybatis-plus-demo 0.0.1-SNAPSHOT com.xyp generator 0.0.1-SNAPSHOT generator generator 1.8 org.springframework.boot spring-boot-starter-jdbc mysql mysql-connector-java runtime com.baomidou mybatis-plus-generator org.freemarker freemarker org.springframework.boot spring-boot-starter-test test org.springframework.boot spring-boot-maven-plugin
三、新建数据库及表4.0.0 com.xyp mybatis-plus-demo 0.0.1-SNAPSHOT com.xyp service 0.0.1-SNAPSHOT service service 1.8 org.springframework.boot spring-boot-starter-jdbc ${spring.version} org.springframework.boot spring-boot-starter-web ${spring.version} mysql mysql-connector-java ${mysql.version} runtime com.baomidou mybatis-plus-boot-starter ${mybatis-plus.version} io.springfox springfox-swagger2 io.springfox springfox-swagger-ui org.springframework.boot spring-boot-devtools runtime true ${spring.version} org.projectlombok lombok true ${lombok.version} org.springframework.boot spring-boot-starter-test test ${spring.version} org.springframework.boot spring-boot-maven-plugin
创建一个demo数据库,创建一个p_user表
四、代码生成器package com.xyp.generator;
import com.baomidou.mybatisplus.core.mapper.baseMapper;
import com.baomidou.mybatisplus.generator.FastAutoGenerator;
import com.baomidou.mybatisplus.generator.config.OutputFile;
import com.baomidou.mybatisplus.generator.engine.FreemarkerTemplateEngine;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class Generator {
public static void main(String[] args) {
List tables = new ArrayList<>();
tables.add("p_user");
FastAutoGenerator.create("jdbc:mysql://localhost:3306/demo", "root", "root")
.globalConfig(builder -> {
builder.author("XYP")
.outputDir(System.getProperty("user.dir") + "\service\src\main\java")
.enableSwagger()
.commentDate("yyyy-MM-dd")
.fileOverride();
})
.packageConfig(builder -> {
builder.parent("com.xyp")
.moduleName("service")
.entity("entity")
.service("service")
.serviceImpl("serviceImpl")
.controller("controller")
.mapper("mapper")
.xml("mapper")
.pathInfo(Collections.singletonMap(OutputFile.mapperXml, System.getProperty("user.dir") + "\service\src\main\resources\mapper"));
})
.strategyConfig(builder -> {
builder.addInclude(tables)
.addTablePrefix("p_")
.serviceBuilder()
.formatServiceFileName("%sService")
.formatServiceImplFileName("%sServiceImpl")
.entityBuilder()
.enableLombok()
.logicDeleteColumnName("deleted")
.enableTableFieldAnnotation()
.controllerBuilder()
.formatFileName("%sController")
.enableRestStyle()
.mapperBuilder()
.superClass(baseMapper.class)
.formatMapperFileName("%sMapper")
.enableMapperAnnotation()
.formatXmlFileName("%sMapper");
})
.templateEngine(new FreemarkerTemplateEngine())
.execute();
}
}
五、在service的application.yml中配置数据库连接信息
server:
port: 80
spring:
datasource:
url: jdbc:mysql://127.0.0.1:3306/demo?useUnicode=true&characterEncoding=utf-8&useSSL=false
username: root
password: root
driver-class-name: com.mysql.cj.jdbc.Driver
logging:
level:
root: info
六、在生成的controller暴露查询所有user的接口
package com.xyp.service.controller;
import com.xyp.service.entity.User;
import com.xyp.service.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
@RestController
@RequestMapping("/service/user")
public class UserController {
@Autowired
private UserService userService;
@GetMapping("/get")
public List get(){
List users = userService.list();
return users;
}
}
七、在postman中进行测试



