package com.ruoyi.web;
|
|
import com.baomidou.mybatisplus.annotation.FieldFill;
|
import com.baomidou.mybatisplus.annotation.IdType;
|
import com.baomidou.mybatisplus.generator.FastAutoGenerator;
|
import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
|
import com.baomidou.mybatisplus.generator.engine.VelocityTemplateEngine;
|
import com.baomidou.mybatisplus.generator.fill.Column;
|
import org.junit.Test;
|
|
/**
|
* @className: MybatisPlusGeneraotr
|
* @description: mybatis plus代码生成器
|
**/
|
public class MybatisPlusGeneraotr {
|
|
@Test
|
public void mybatisPlusGenerator() {
|
// 数据源配置
|
FastAutoGenerator.create(
|
"jdbc:dm://localhost:5236/DATABASE?rewriteBatchedStatements=true&zeroDateTimeBehavior=convertToNull&useUnicode=true&characterEncoding=utf-8",
|
"SYSDBA", // 达梦数据库模式名
|
"Sysdba2025!" // 密码
|
)
|
// 全局配置
|
.globalConfig(
|
builder -> {
|
builder
|
.author("sunjiawei")// 作者
|
.outputDir(System.getProperty("user.dir") + "/src/test/java")// 指定输出目录
|
.commentDate("yyyy-MM-dd")// 注释的日期
|
// 修改Date类型为LocalDateTime
|
//.dateType(DateType.ONLY_DATE)
|
.enableSwagger()
|
.disableOpenDir();// 禁止打开输出目录,默认:true
|
}
|
)
|
// 包配置
|
.packageConfig(
|
builder -> {
|
builder
|
.parent(this.getClass().getPackageName() + ".base") // 父包名
|
.entity("pojo.entity") // 实体类包名
|
.other("utils"); // 自定义文件包名
|
}
|
)
|
// 策略配置
|
.strategyConfig(
|
builder -> {
|
builder
|
//todo 在这里添加数据库表名 设置需要生成的表名,多个表之间可以用逗号隔开
|
.addInclude("HIK_EVENT")
|
.controllerBuilder().enableRestStyle() // controller配置策略
|
.serviceBuilder().formatServiceFileName("%sService") // service配置策略
|
.mapperBuilder().enableBaseColumnList().enableBaseResultMap().enableMapperAnnotation()// mapper配置策略
|
.entityBuilder().enableLombok().enableRemoveIsPrefix().disableSerialVersionUID().enableTableFieldAnnotation() // 实体配置策略
|
.logicDeleteColumnName("is_deleted")// 逻辑删除字段名
|
.naming(NamingStrategy.underline_to_camel)// 数据库表映射到实体的命名策略,下划线转驼峰
|
.columnNaming(NamingStrategy.underline_to_camel) // 数据库表字段映射的命名策略,下划线转驼峰
|
.addTableFills( // 添加表字段填充,"create_time"自动填充为插入时间,"update_time"自动填充为修改时间
|
new Column("create_time", FieldFill.INSERT),
|
new Column("update_time", FieldFill.INSERT_UPDATE)
|
)
|
.idType(IdType.AUTO);
|
}
|
)
|
// 模板配置
|
.templateEngine(new VelocityTemplateEngine()) // 使用的是默认的 Velocity 引擎模板
|
// 执行
|
.execute();
|
}
|
}
|