maybatis-plus 代码生成器

        本文基于springboot集成mybatis-plus的基础上进行阐述 

maven依赖

        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <version>3.5.3.1</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-freemarker</artifactId>
        </dependency>
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-generator</artifactId>
            <version>3.5.3.1</version>
        </dependency>
        <dependency>
            <groupId>com.mysql</groupId>
            <artifactId>mysql-connector-j</artifactId>
            <scope>runtime</scope>
        </dependency>

代码生成器

public class MybatisPulsGenerator {

    /**
     * 数据库连接
     */
    private static String url = "jdbc:mysql://127.0.0.1:3306/test?serverTimezone=UTC&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&transformedBitIsBoolean=true&useSSL=false&useTimezone=true&allowMultiQueries=true";
    /**
     * 数据库账号
     */
    private static String username = "test";
    /**
     * 数据库密码
     */
    private static String password = "test!";
    /**
     * 要生成的表名,多个用","隔开
     */
    private static String tableNames = "sys_user,user_role";
    /**
     * 输出目录
     */
    private static String outputDir = "F://mybatisPulsCode//";
    /**
     * 作者
     */
    private static String author = "小花卷的Dad";
    /**
     * 要过滤的表前缀,多个用","隔开
     */
    private static String tablePrefixs = "";


    public static void main(String[] args) {
        FastAutoGenerator.create(url, username, password)
            .globalConfig(builder -> {
                builder
                    .author(author) //设置作者
                    .enableSwagger() //开启swagger模式
                    .outputDir(outputDir); //指定输出目录
            })
            .dataSourceConfig(builder -> builder.typeConvertHandler((globalConfig, typeRegistry, metaInfo) -> {
                int typeCode = metaInfo.getJdbcType().TYPE_CODE;
                if (typeCode == Types.SMALLINT) {
                    //自定义类型转换
                    return DbColumnType.INTEGER;
                }
                return typeRegistry.getColumnType(metaInfo);

            }))
            .packageConfig(builder -> {
                builder.parent("") //设置父包名
                    .moduleName("") //设置父包模块名
                    .pathInfo(Collections.singletonMap(OutputFile.xml, outputDir)); //设置mapperXml生成路径
            })
            .strategyConfig(builder -> {
                builder.addInclude(tableNames.split(",")) // 设置需要生成的表名
                    .addTablePrefix(tablePrefixs.split(",")) // 设置过滤表前缀
                    .entityBuilder() //entity配置
                    .enableFileOverride() //覆盖已生成文件
                    .enableLombok() //开启lombok模型
                    .disableSerialVersionUID() //禁用生成 serialVersionUID
                    .controllerBuilder() //controller配置
                    .enableRestStyle() //开启生成@RestController 控制器
                    .enableFileOverride() //覆盖已生成文件
                    .serviceBuilder() //service配置
                    .enableFileOverride() //覆盖已生成文件
                    .mapperBuilder() //mapper配置
                    .enableFileOverride(); //覆盖已生成文件

            })
            .templateEngine(new FreemarkerTemplateEngine()) // 使用Freemarker引擎模板,默认的是Velocity引擎模板
            .execute();
    }
}

更多配置参考:代码生成器配置新 

根据实际情况配置好参数后,直接运行即可

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值