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(); } }