MyBatis-Plus Gradle 代码生成插件了解一下

本文介绍如何在SpringBoot项目中使用MyBatisPlus插件与Gradle集成,自动生成代码。详细展示了配置步骤及自定义设置,如代码生成路径、表名前缀等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Mybatis Plus Gradle Generator


介绍

Web开发中使用mybatis比较多,MyBatis Plus是一个比较好的扩展,并且还可以自动生成代码,比较方便。
但是MyBatis Plus 对maven比较友好,对Gradle就比较差了,现在Spring Boot也对Gradle支持比较好,在使用Gradle生成代码的时候就比较麻烦。

使用姿势

本插件需要结合Spring Boot项目一起使用,如下所示,首先添加插件依赖,当前版本为
[图片上传失败...(image-a43763-1545391159731)]

buildscript {
    ext {
        springBootVersion = '2.1.1.RELEASE'
    }
    repositories {
        maven { url "http://maven.aliyun.com/nexus/content/groups/public/" }
        maven { url "https://dl.bintray.com/liushuixiaoxia/maven"  }
        mavenCentral()
        jcenter()
    }
    dependencies {
        classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
        classpath("cn.mycommons:mpg:${mpgVesion}")
    }
}

然后配置相关属性即可,本配置可以参考MyBatis Plus 代码生成官方文档,基本配置和官方配置一样。

示例:表名为tb_app_info,前缀为tb_,生成的entity为AppInfo,mapper为AppInfoMapper.xml

apply plugin: 'mpg'
mpg {
    enable = true

    globalConfig {
        outputDir = projectDir.path + "/src/main/java"
        author = "Admin"
        open = false
        baseResultMap = true
    }

    dataSourceConfig {
        driverName = "com.mysql.jdbc.Driver"
        url = "jdbc:mysql://localhost:3306/mpg_test?useUnicode=true&characterEncoding=utf8&useSSL=false"
        username = "root"
        password = "admin"
    }

    packageConfig {
        parent = "cn.mycommons.springdemo.mpg"
        entity = "mybatis.entity"
        mapper = "mybatis.mapper"
    }

    xmlMapperConfig {
        path = projectDir.path + "/src/main/resources/mapper/"
        name = "AppInfoMapper.xml"
    }

    strategyConfig {
        include = ["tb_app_info"]
        tablePrefix = ["tb_"]
        entityLombokModel = true
        restControllerStyle = true
        superEntityClass = "cn.mycommons.basic.dto.BaseEntity"
        logicDeleteFieldName = "is_delete"
        superEntityColumns = ["create_by", "create_time", "update_by", "update_time", "remark", "is_delete"]
        entityTableFieldAnnotationEnable(true)
        controllerMappingHyphenStyle = true
        superControllerClass = "cn.mycommons.basic.controller.BaseController"
    }
}

下面为自定义配置,表示生成xmlMapper的文件路径。

xmlMapperConfig {
    path = projectDir.path + "/src/main/resources/mapper/"
    name = "AppInfoMapper.xml"
}

然后执行Gradle Task mpg 即可。

1520343-8446f5d7bbfec27c.png
mpg

相关链接

MyBatis Plus

MyBatis Plus 文档

MyBatis Plus Gradle Plugin

### MyBatis-Plus 代码生成插件使用教程和配置指南 #### 插件功能概述 MyBatis-Plus 是一款基于 MyBatis 的增强工具包,旨在简化开发流程并提升工作效率。其内置的代码生成器能够显著减少开发者手动编写重复性代码的工作量[^1]。 #### 安装与引入依赖 为了在项目中启用 MyBatis-Plus 代码生成器,需先确保已正确添加了必要的 Maven 或 Gradle 依赖项。对于 Maven 用户来说,可以在 `pom.xml` 文件内加入如下片段: ```xml <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-generator</artifactId> <version>${mybatis.plus.version}</version> </dependency> <!-- 如果需要模板引擎支持 --> <dependency> <groupId>org.freemarker</groupId> <artifactId>freemarker</artifactId> <version>${freemarker.version}</version> </dependency> ``` 上述代码展示了如何向项目导入 MyBatis-Plus 及 FreeMarker 模板引擎的支持,后者用于定义生成文件的具体格式[^2]。 #### 基础配置说明 完成依赖安装之后,接下来就是创建 Java 类来配置代码生成器的各项参数。下面给出了一段典型的初始化设置示例: ```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; public class CodeGenerator { public static void main(String[] args) { AutoGenerator mpg = new AutoGenerator(); // 设置全局配置 GlobalConfig gc = new GlobalConfig(); String projectPath = System.getProperty("user.dir"); gc.setOutputDir(projectPath + "/src/main/java"); // 输出路径 // 数据源配置 DataSourceConfig dsc = new DataSourceConfig(); dsc.setUrl("jdbc:mysql://localhost:3306/your_database?useUnicode=true&characterEncoding=utf8&serverTimezone=UTC"); dsc.setUsername("root"); dsc.setPassword("password"); // 包名策略配置 PackageConfig pc = new PackageConfig(); pc.setParent("com.example.module"); pc.setModuleName(null); mpg.setGlobalConfig(gc); mpg.setDataSource(dsc); mpg.setPackageInfo(pc); mpg.execute(); // 执行生成操作 } } ``` 这段程序实现了最基本的数据库连接以及目标目录指定等功能,并最终调用了 `execute()` 方法触发实际的代码生成功能。 #### 自定义模板与高级选项 除了基本配置外,MyBatis-Plus 还允许用户通过继承默认类来自定义更多细节,比如修改实体属性命名规则、调整 XML 映射文件样式等。此外,借助于 FreeMarker 等模板技术还可以进一步扩展生成逻辑,实现更加灵活多变的结果输出形式[^3]。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值