【MyBatisPlus Generator】Kotlin/Java 使用 2023 最新版 MyabtisPlus 代码生成器详细教程(Generator3.5+)

目录

Step1. 引入生成器依赖

Gradle

Maven

Step2.在 test 目录中随便创建一个类

Kotlin

Java 

Step3.运行并检查


Step1. 引入生成器依赖

Gradle

    implementation("com.baomidou:mybatis-plus-generator:3.5.3.1")
    implementation("org.apache.velocity:velocity-engine-core:2.3")
    implementation("org.springframework.boot:spring-boot-starter-freemarker")

Maven

        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-generator</artifactId>
            <version>3.5.3.1</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-freemarker</artifactId>
        </dependency>
        <dependency>
            <groupId>org.apache.velocity</groupId>
            <artifactId>velocity-engine-core</artifactId>
            <version>2.3</version>
        </dependency>

Step2.在 test 目录下随便创建一个类

 Kotlin

复制以下内容并按自己需求修改:

import com.baomidou.mybatisplus.generator.AutoGenerator
import com.baomidou.mybatisplus.generator.config.DataSourceConfig
import com.baomidou.mybatisplus.generator.config.GlobalConfig
import com.baomidou.mybatisplus.generator.config.PackageConfig
import com.baomidou.mybatisplus.generator.config.StrategyConfig

fun main() {
    AutoGenerator(
        // 设置数据源
        DataSourceConfig.Builder(
            "url",
            "username",
            "password"
        ).build()
    ).run {
        // 全局配置
        global(
            GlobalConfig.Builder()
                // 启用 Kotlin
                .enableKotlin()
                /**
                 * 输出路径
                 * System.getProperty("user.dir") 得到的是这个项目的目录
                 * /src/main/kotlin 是你代码的存放目录,如果你是多模块项目,记得加上你的模块名
                 * 比如 service-oa-parent
                 *              |- service-oa
                 *              |- model
                 * 你想在 service-oa 中生成,那么应该填入: System.getProperty("user.dir") + "/service-oa/src/main/kotlin"
                 */
                .outputDir(System.getProperty("user.dir") + "/src/main/kotlin")
                // 作者
                .author("Goxiaogle")
                // 设置生成完毕后是否展开你 idea 的目录,不影响结果
                .disableOpenDir()
                .build()
        )
        // 包信息配置
        packageInfo(
            PackageConfig.Builder()
                /**
                 * 假定下列代码的目录结构为:
                 * com.goxiaogle.auth
                 *  |- controller
                 *  |- service
                 *      |- impl
                 *  |- mapper
                 *  则 com.goxiaogle 为父包,auth 为模块名
                 */
                // 设置父包
                .parent("com.goxiaogle")
                // 设置模块名
                .moduleName("auth")
                // 以下四个可以去掉,如果你的分包命名和他一样
                // 设置 Controller 层包名,默认就是 controller
                .controller("controller")
                // 设置 Service 层包名,默认就是 service
                .service("service")
                // 设置 Mapper 层包名,默认就是 mapper
                .mapper("mapper")
                // 设置 Entity 包名,默认就是 entity
                .entity("entity")
                .build()
        )
        // 策略配置
        strategy(
            StrategyConfig.Builder()
                // 设置要生成代码的数据库表名,可以设置多个,如 addInclude(a, b, c)
                .addInclude("sys_user")
                // 设置生成的 service 接口命名方式,默认是 IXxxService,这里改成 XxxService
                // serviceBuilder() 方法建议在 build 后使用,此处偷懒直接用了
                .serviceBuilder().formatServiceFileName("%sService")
                .build()
                // 设置其它几层的内容
                // .entityBuilder()
                // .controllerBuilder()
                // .mapperBuilder().build()
        )
        // 执行
        execute()
    }
}

Java 

复制以下内容并按自己需求修改:

import com.baomidou.mybatisplus.generator.AutoGenerator;
import com.baomidou.mybatisplus.generator.config.DataSourceConfig;
import com.baomidou.mybatisplus.generator.config.GlobalConfig;
import com.baomidou.mybatisplus.generator.config.PackageConfig;
import com.baomidou.mybatisplus.generator.config.StrategyConfig;

public class CodeGet {
    public static void main(String[] args) {
        AutoGenerator generator = new AutoGenerator(
                // 设置数据源
                new DataSourceConfig.Builder("url", "username", "password").build()
        );
        generator.global(
                // 全局配置
                new GlobalConfig.Builder()
                        /*
                         * 输出路径
                         * System.getProperty("user.dir") 得到的是这个项目的目录
                         * /src/main/kotlin 是你代码的存放目录,如果你是多模块项目,记得加上你的模块名
                         * 比如 service-oa-parent
                         *              |- service-oa
                         *              |- model
                         * 你想在 service-oa 中生成,那么应该填入: System.getProperty("user.dir") + "/service-oa/src/main/kotlin"
                         */
                        .outputDir(System.getProperty("user.dir") + "/src/main/java")
                        // 作者
                        .author("Goxiaogle")
                        // 设置生成完毕后是否展开你 idea 的目录,不影响结果
                        .disableOpenDir().build()
        );
        // 包信息配置
        generator.packageInfo(
                new PackageConfig.Builder()
                        /*
                         * 假定下列代码的目录结构为:
                         * com.goxiaogle.auth
                         *  |- controller
                         *  |- service
                         *      |- impl
                         *  |- mapper
                         *  则 com.goxiaogle 为父包,auth 为模块名
                         */
                        // 设置父包
                        .parent("com.goxiaogle")
                        // 设置模块名
                        .moduleName("auth")
                        // 以下四个可以去掉,如果你的分包命名和他一样
                        // 设置 Controller 层包名,默认就是 controller
                        .controller("controller")
                        // 设置 Service 层包名,默认就是 service
                        .service("service")
                        // 设置 Mapper 层包名,默认就是 mapper
                        .mapper("mapper")
                        // 设置 Entity 包名,默认就是 entity
                        .entity("entity").build()
        );
        // 策略配置
        generator.strategy(
                new StrategyConfig.Builder()
                        // 设置要生成代码的数据库表名,可以设置多个,如 addInclude(a, b, c)
                        .addInclude("sys_user")
                        .serviceBuilder()
                        // 设置生成的 service 接口命名方式,默认是 IXxxService,这里改成 XxxService
                        // serviceBuilder() 方法建议在 build 后使用,此处偷懒直接用了
                        .serviceBuilder().formatServiceFileName("%sService").build()
                        // 设置其它几层的内容
                        // .entityBuilder()
                        // .controllerBuilder()
                        // .mapperBuilder().build()
        );
        // 执行
        generator.execute();
    }
}

Step3.运行并检查

 生成完毕后发现多出了【Service接口、ServiceImpl实现类、Mapper接口、Mapper.xml映射文件、Controller类、Entity类】,至此结束

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值