编写一个代码生成器工具类org.springframework.boot spring-boot-starter-web com.baomidou mybatis-plus-boot-starter 3.5.1 com.baomidou mybatis-plus-generator 3.5.2 org.apache.velocity velocity-engine-core 2.3 mysql mysql-connector-java runtime org.projectlombok lombok true org.springframework.boot spring-boot-starter-test test
里面的相关配置自行修改
public class CodeTest {
public static void main(String[] args) {
FastAutoGenerator.create("jdbc:mysql://localhost:3306/mybatis_plus", "root", "root")
// 全局配置
.globalConfig(builder -> {
builder.outputDir(System.getProperty("user.dir") + "/src/main/java")//设置输出目录
// 设置作者
.author("QiJingJing")
// 设置不打开输出目录
.disableOpenDir()
// 配置日期类型
.commentDate("yyyy-MM-dd")
// 配置日期类型
.dateType(DateType.ONLY_DATE);
// 可以配置swagger .enableSwagger()
})
// 包配置
.packageConfig(builder -> {
builder.moduleName("generator")// 设置包名
// 设置在哪个包下
.parent("com.lili")
// 实体类的名字
.entity("entity")
// mapper层的名字
.mapper("mapper")
// service层的名字
.service("service")
//controller层的名字
.controller("controller")
// 添加mapper.xml生成路径
.pathInfo(Collections.singletonMap(OutputFile.xml, System.getProperty("user.dir")+"/src/main/resources/mapper"));
})
// 策略配置
.strategyConfig(builder -> {
builder.addInclude("user")// 映射的表名
// 添加过滤表前后缀
// .addTablePrefix("填写表前缀")
// .addTableSuffix("填写表后缀")
// entity 策略配置
.entityBuilder().enableLombok() // 开启lombok
// 表名下划线转驼峰
.naming(NamingStrategy.underline_to_camel)
// 字段名下划线转驼峰
.columnNaming(NamingStrategy.underline_to_camel)
// 全局主键类型
.idType(IdType.AUTO)
// 配置逻辑删除字段名
//.logicDeleteColumnName("逻辑删除字段名")
//.logicDeletePropertyName("逻辑删除属性名")
// 配置乐观锁
//.versionColumnName("乐观锁字段名")
//.versionPropertyName("乐观锁属性名")
//表字段补充
//.addTableFills(new Column("create_time", FieldFill.INSERT))
//.addTableFills(new Property("updateTime", FieldFill.INSERT_UPDATE))
// service层策略配置
.serviceBuilder()
.formatServiceFileName("%sService")
.formatServiceImplFileName("%sServiceImpl")
// controller 策略配置
.controllerBuilder().enableHyphenStyle()// 开启下划线命名
// 开启生成@RestController
.enableRestStyle()
// mapper层策略配置
.mapperBuilder()
// 开启mapper层注解
.enableMapperAnnotation();
}).execute();
}
}
执行即可
来试一个简单的查询
1、yml进行配置
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver spring.datasource.username=root spring.datasource.password=root spring.datasource.url=jdbc:mysql://localhost:3306/mybatis_plus
2、service接口增加一个查询所有的方法:
3、serviceImpl添加对应的实现
4、编写测试类进行测试
结果:



