SpringBoot整合MyBatis-Plus代码生成器(新)

1.添加依赖坐标

 		 
        <dependency>
            <groupId>com.baomidougroupId>
            <artifactId>mybatis-plus-generatorartifactId>
            <version>3.5.1version>
        dependency>
        
        <dependency>
            <groupId>org.apache.velocitygroupId>
            <artifactId>velocity-engine-coreartifactId>
            <version>2.3version>
        dependency>

2.创建一个Generator类,并在该类的主方法中配置代码信息

package com.example.generator;

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.config.rules.NamingStrategy;

import java.util.Collections;

public class Generator {
    public static void main(String[] args) {
        FastAutoGenerator
                // 设置数据库信息
                .create("url"
                        ,"userName"
                        ,"password")
                // 全局配置
                .globalConfig(builder -> {
                    builder.author("创建者名字")// 创建者
                            .dateType(DateType.TIME_PACK)// 时间类型
                            .commentDate("yyyy-MM-dd")// 注释日期
//                            .enableKotlin()// 开启kotlin模式,默认flase
//                            .enableSwagger()// 开启swagger模式,默认flase
                            .outputDir(System.getProperty("user.dir")+"/模块名/src/main/java");// 指定输出目录
                })
                // 包配置
                .packageConfig(builder -> {
                    builder.parent("com.example")// 父包名
                            .entity("domain")// 实体类包名
                            .mapper("mapper")// mapper层包名
                            .service("service")// service层接口包名
                            .serviceImpl("service.impl")// service层实现类包名
                            .controller("controller")// 控制层包名
                            .other("自定义包名")// 自定义包名
                            // 自定义mapper.xml文件输出目录
                            .pathInfo(Collections.singletonMap(OutputFile.mapperXml,System.getProperty("user.dir")+"/ChangeTracking/src/main/resources/mapper"));
                })
                // 策略配置
                .strategyConfig(builder -> {
                    builder.addInclude("数据库表名")//设置要参与代码生成的表名,是可变参数
//                            .addTablePrefix("数据库表名前缀")// 进行数据库表名前缀的过滤
//                            .addTableSuffix("数据库表名后缀")// 进行数据库表名后缀的过滤
//                            .addFieldPrefix("字段名前缀")// 进行表字段名前缀的过滤
//                            .addFieldSuffix("字段名后缀")// 进行表字段名后缀的过滤
                            // 实体策略配置
                            .entityBuilder()
                            .enableLombok()// 开启lombok模型,默认false
                            .enableChainModel()// 开启链式模型,默认false
                            .naming(NamingStrategy.underline_to_camel)// 数据表名与实体类名的映射策略:underline_to_camel(下划线转驼峰)
                            .columnNaming(NamingStrategy.underline_to_camel)// 表字段名与实体类属性名的映射策略:underline_to_camel(下划线转驼峰)
                            .idType(IdType.ASSIGN_UUID)// 设置主键生成策略
                            .disableSerialVersionUID()// 禁用生成serialVersionUID,默认true
//                            .versionColumnName("乐观锁字段名")// 乐观锁字段名
//                            .logicDeleteColumnName("逻辑删除字段名")// 逻辑删除字段名
                            .formatFileName("%s")// 格式化文件名称
                            // mapper策略配置
                            .mapperBuilder()
                            .enableMapperAnnotation()// 开启mapper注解
                            .formatMapperFileName("%sMapper")// 格式化Mapper类名称
                            .formatXmlFileName("%sMapper")// 格式化xml文件名称
//                            .enableBaseResultMap()// 启用xml文件中的BaseResultMap生成,默认false
//                            .enableBaseColumnList()// 启用xml文件中的BaseColumnList,默认false
                            // service策略配置
                            .serviceBuilder()
//                            .formatServiceFileName("%sService")// 格式化service层接口名称
                            .formatServiceImplFileName("%sServiceImpl")// 格式化service层实现类名称
                            // controller策略配置
                            .controllerBuilder()
                            .enableRestStyle();// 开启生成@RestController控制器,默认false
                })
                .execute();
    }
}

你可能感兴趣的:(spring,boot,mybatis,后端)