MybatisPlus_代码生成器(新)

适用版本:mybatis-plus-generator 3.5.1 及其以上版本,对历史版本不兼容

旧版代码生成器参照官方文档

MyBatis-PlusMyBatis-Plus 官方文档https://baomidou.com/代码段

package cn.alan.Generator;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.generator.FastAutoGenerator;
import com.baomidou.mybatisplus.generator.config.OutputFile;
import com.baomidou.mybatisplus.generator.config.rules.DateType;
import com.baomidou.mybatisplus.generator.engine.FreemarkerTemplateEngine;
import com.baomidou.mybatisplus.generator.fill.Column;

import java.util.Collections;

public class GeneratorApplicationTests {
    private static final String projectPath = System.getProperty("user.dir");

    public static void main(String[] args) {
        FastAutoGenerator.create("jdbc:mysql://localhost:3306/mybatisplus?useSSL=false&useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true", "root", "123456789")
                .globalConfig(builder -> {
                    builder
                            .fileOverride()                                 //覆盖已生成文件
                            .disableOpenDir()                               //禁止(在文件夹中)打开输出目录
                            .enableSwagger()                                //开启swagger模式(实体类中的说明)
                            .outputDir(projectPath + "/src/main/java")      //输出目录
                            .author("alan")                                 //作者
                            .dateType(DateType.TIME_PACK);                  //日期类型
                })
                .packageConfig(builder -> {
                    builder
                            .parent("cn.alan.Generator")    //父包名
                            .moduleName("")                 //父包模块名 默认为空
                            .entity("POJO")                 //实体类包名
                            .service("Service")             //Service层包名
                            .serviceImpl("Service.Impl")    //Service层实现类包名
                            .mapper("Mapper")               //Mapper层(DAO层)包名
                            .xml("Mapper.XML")              //xml文件包名
                            .controller("Controller")       //Controller层包名
                            .other("other")
                            //设置自动生成文件的路径(此处自定义了xml文件的生成目录 上方.xml()方法将失效)
                            .pathInfo(Collections.singletonMap(OutputFile.mapperXml,projectPath + "/src/main/resources/mappers"))
                            .build();
                })
                .strategyConfig(builder -> {
                    builder
                            .addInclude("user")         //映射的表名

                            //禁用SQL过滤
                            //关闭之后likeTable与notLikeTable将失效 include和exclude将使用内存过滤
                            //.disableSqlFilter()

                            .entityBuilder()                                                                //实体类设置
                            .enableLombok()                                                                 //开启lombok
                            .enableChainModel()                                                             //开启链式编程
                            .idType(IdType.AUTO)                                                            //主键id生成策略
                            .addTableFills(new Column("create_time", FieldFill.INSERT))         //自动填充(依据数据库字段名)
                            .addTableFills(new Column("update_time", FieldFill.INSERT_UPDATE))  //自动填充(依据数据库字段名)
                            .logicDeleteColumnName("deleted")                                               //逻辑删除(依据数据库字段名)
                            .versionColumnName("version")                                                   //乐观锁(依据数据库字段名)

                            .controllerBuilder()                            //Controller层设置
                            .enableHyphenStyle()                            //开启(url)驼峰转下划线
                            .enableRestStyle()                              //开启生成@RestController注解

                            .serviceBuilder()                               //Service层设置
                            .formatServiceFileName("%sService")             //Service接口命名规则(除去"I"前缀)

                            .mapperBuilder()                                //Mapper层(DAO层)设置
                            .enableMapperAnnotation();                      //开启生成@Mapper注解
                })
                .templateEngine(new FreemarkerTemplateEngine())     //使用freemarker模板引擎

                .execute();                                         //执行
    }
}

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MyBatis Plus提供了一个方便的代码生成器,可以帮助我们快速生成实体类、Mapper接口、Service层和Controller层的代码。下面是使用MyBatis Plus代码生成器的步骤: 1. 添加相关依赖:在项目的pom.xml文件中添加MyBatis Plus和代码生成器的依赖。 ```xml <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-generator</artifactId> <version>最版本</version> </dependency> ``` 2. 配置代码生成器:创建一个代码生成器的配置类,并添加相应的配置项,如数据库连接信息、生成文件的输出路径、生成的包名等。 ```java public class CodeGenerator { public static void main(String[] args) { AutoGenerator generator = new AutoGenerator(); // 配置数据源 DataSourceConfig dataSourceConfig = new DataSourceConfig(); dataSourceConfig.setUrl("jdbc:mysql://localhost:3306/mybatis_plus_demo?serverTimezone=UTC"); dataSourceConfig.setDriverName("com.mysql.cj.jdbc.Driver"); dataSourceConfig.setUsername("root"); dataSourceConfig.setPassword("123456"); generator.setDataSource(dataSourceConfig); // 配置全局策略 GlobalConfig globalConfig = new GlobalConfig(); globalConfig.setOutputDir(System.getProperty("user.dir") + "/src/main/java"); globalConfig.setAuthor("Your Name"); globalConfig.setOpen(false); generator.setGlobalConfig(globalConfig); // 配置包名策略 PackageConfig packageConfig = new PackageConfig(); packageConfig.setParent("com.example.demo"); generator.setPackageInfo(packageConfig); // 配置模板引擎 TemplateConfig templateConfig = new TemplateConfig(); templateConfig.setXml(null); generator.setTemplate(templateConfig); // 执行生成代码 generator.execute(); } } ``` 3. 运行代码生成器:运行CodeGenerator类的main方法,即可生成对应的代码文件。 4. 自定义代码模板(可选):MyBatis Plus代码生成器默认提供了一套代码模板,如果需要定制自己的生成规则,可以根据需求修改模板文件。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值