13693261870
2025-07-02 6708810c4de34dfb9513061432d656f91d56ee3a
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
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();
    }
}