MyBatis-Plust + kotlin 自动生成代码(新)

MyBatis-Plus 自动生成代码

概要

  • 需要使用的依赖: 主要是使用官网Generator包生成简单的代码,官网没有kotlin版本的示例
    可以参考官网配置新增自己想要的属性 (这里是新的代码生成器)
  • 官网教程指南以及新(旧)
    两版java生成器 https://baomidou.com/pages/779a6e/#%E5%BF%AB%E9%80%9F%E5%85%A5%E9%97%A8
  • 官网代码生成器配置细节https://baomidou.com/pages/981406/#%E6%95%B0%E6%8D%AE%E5%BA%93%E9%85%8D%E7%BD%AE-datasourceconfig在这里插入图片描述

代码

package com.duckstone.userapi.generator

import com.baomidou.mybatisplus.generator.FastAutoGenerator
import com.baomidou.mybatisplus.generator.config.OutputFile
import com.baomidou.mybatisplus.generator.engine.FreemarkerTemplateEngine
import java.util.*
import java.util.function.BiConsumer
import java.util.function.Consumer


fun main(args: Array<String>) {
    generator()
}

// kotlin 代码生成器
fun generator() {

    //快速构建 生成mybatis代码
    FastAutoGenerator.create("url", "username",
        "password")
        //全局配置
        .globalConfig(Consumer {
            it.author("zhangsan").enableKotlin()
                .disableOpenDir()
                //开启 swagger 模式: 需要引入swagger包
                //.enableSwagger()
                // 覆盖已生成文件 3.5.3 版本已删除 使用的是 3.5.2
                .fileOverride()
                .outputDir("E:\\new_pztWorkpace\\springboot-kotlin\\user-api\\src\\main\\kotlin")
        })
        //包配置
        .packageConfig(Consumer {
            //设置父包名
            it.parent("com.duckstone.userapi")
                //.moduleName("system") //设置父模块名称
                //mapperXml 生成路径 绝对路径
                .pathInfo(Collections.singletonMap(OutputFile.xml, "E:\\new_pztWorkpace\\springboot-kotlin\\user-api\\src\\main\\resources\\userapi"))
        })
        // 策略配置
        /*.strategyConfig(Consumer {
            // 生成表, 可以另写一个使用Scanner 接入一串输入的表
            it.addInclude("ts_user_role", "ts_menu", "ts_role", "ts_role_menu", "ts_user")
                //设置过滤表前缀
                //.addFieldPrefix("ts")
                // 设置实体策略
                .entityBuilder()
                //开启 lombok
                .enableLombok()

        })*/
            //交互手动输入
        .strategyConfig(BiConsumer { scanner, builder ->
            builder.addInclude(getTables(scanner.apply("请输入表名,多个英文逗号分隔?所有输入 all"))!!)
                .entityBuilder().enableLombok().build()
        })
        //使用Freemarker引擎模板,默认的是Velocity引擎模板
        .templateEngine(FreemarkerTemplateEngine())
        // 执行
        .execute()
}

// 处理 all 情况
fun getTables(tables: String): List<String?>? {
    return if ("all" == tables) Collections.emptyList() else tables.split(",")
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
要使用MyBatis-Plus生成XML配置的代码,你需要进行以下配置: 1. 在application.properties文件中,配置MyBatis-Plus的相关属性,如开启SQL日志、映射下划线字段为驼峰格式等。\[1\] 2. 创建一个配置类(如MyBatisPlusConfig),使用@Configuration注解标记为配置类,并使用@MapperScan注解指定要扫描的mapper文件夹。在该配置类中,你可以注册乐观锁插件和逻辑删除组件。\[2\] 3. 创建另一个配置类(如MybatisConfig),同样使用@Configuration注解标记为配置类,并使用@EnableTransactionManagement注解开启事务管理。在该配置类中,你可以配置MyBatis-Plus的分页插件。\[3\] 通过以上配置,你就可以使用MyBatis-Plus生成XML配置的代码了。 #### 引用[.reference_title] - *1* *3* [spring boot 2 整合 mybatis-plus 3.5.1,mybatis-plus-generator 自动生成代码](https://blog.csdn.net/bish326/article/details/123661864)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [MyBatis-Plus——代码自动生成器](https://blog.csdn.net/Huang_ZX_259/article/details/122540801)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值