Gradle配置MybatisGenerator逆向工程

本文介绍了如何在Gradle工程中配置MybatisGenerator进行逆向工程,包括2.1之前和之后版本的插件导入方式,以及相关配置文件如generatorConfig.xml和config.properties的设置,帮助开发者自动生成数据库实体类、Mapper接口和XML映射文件。
摘要由CSDN通过智能技术生成

Gradle配置MybatisGenerator逆向工程

​ 之前一直都是用的maven的方式做的,由于公司现在用的是Gradle构建工程,所以也是在网上找了一下方案,大家可以参考一下我的方式,这里附上Gradle的插件官网,大家可以去官网搜索想要的插件

1.首先在buid.gradle文件里面导入相关的jar包和MybatisGenerator的插件

​ buid.gradle可以理解成maven的pom.mxl,这里需要注意的是gradle是2.1之前的比较久的版本跟2.1之后的新的版本导入插件的方式不一样,这一点gradle的插件官网是有说明的

image-20210623162307822

  • 2.1之前的版本
buildscript {
    ext {
        springBootVersion = '2.0.1.RELEASE'
    }
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
    }
}

apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: 'org.springframework.boot'
apply plugin: 'io.spring.dependency-management'

group = 'com.jarry'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = 1.8

repositories {
    mavenCentral()
}


dependencies {
    compile('org.springframework.boot:spring-boot-starter-web')
    compile('org.mybatis.spring.boot:mybatis-spring-boot-starter:1.3.2')
    runtime('mysql:mysql-connector-java')
    testCompile('org.springframework.boot:spring-boot-starter-test')

    //数据库
    compile group: 'org.apache.tomcat', name: 'tomcat-jdbc', version: '8.5.23'
    //日志
    compile group: 'log4j', name: 'log4j', version: '1.2.17'
    //fastjson
    compile group: 'com.alibaba', name: 'fastjson', version: '1.2.47'


}

//mybatis generator plugin ------ start
buildscript {
    repositories {
        maven {
            url "https://plugins.gradle.org/m2/"
        }
    }
    dependencies {
        classpath "gradle.plugin.com.arenagod.gradle:mybatis-generator-plugin:1.4"
    }
}

apply plugin: "com.arenagod.gradle.MybatisGenerator"

configurations {
    mybatisGenerator
}

mybatisGenerator {
    verbose = true
    configFile = 'src/main/resources/tools/generatorConfig.xml'
}
//mybatis generator plugin ------ end
  • 2.1之后的版本
buildscript {
    ext {
        springBootVersion = '2.0.1.RELEASE'
    }
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
    }
}

apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: 'org.springframework.boot'
apply plugin: 'io.spring.dependency-management'

group = 'com.jarry'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = 1.8

repositories {
    mavenCentral()
}


dependencies {
    compile('org.springframework.boot:spring-boot-starter-web')
    compile('org.mybatis.spring.boot:mybatis-spring-boot-starter:1.3.2')
    runtime('mysql:mysql-connector-java')
    testCompile('org.springframework.boot:spring-boot-starter-test')

    //数据库
    compile group: 'org.apache.tomcat', name: 'tomcat-jdbc', version: '8.5.23'
    //日志
    compile group: 'log4j', name: 'log4j', version: '1.2.17'
    //fastjson
    compile group: 'com.alibaba', name: 'fastjson', version: '1.2.47'


}

//mybatis generator plugin ------ start
plugins {
  id "com.arenagod.gradle.MybatisGenerator" version "1.4"
}

apply plugin: "com.arenagod.gradle.MybatisGenerator"

configurations {
    mybatisGenerator
}

mybatisGenerator {
    verbose = true
    configFile = 'src/main/resources/tools/generatorConfig.xml'
}
//mybatis generator plugin ------ end

2.在resources目录下新建config.properties文件配置数据库链接信息和要生成的 Java 类的包

jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://192.168.1.11:3306/ssmDemo?characterEncoding=utf8
jdbc.username=root
jdbc.password=111111


# 生成实体类所在的包
package.model=org.zn.user.entity
# 生成 mapper 类所在的包
package.mapper=org.zn.user.dao
# 生成 mapper xml 文件所在的包,默认存储在 resources 目录下
package.xml=mapping
# 表名
package.tableName=user
# 生成实体类名称
package.entityName=User

3.在resources目录下新建generatorConfig.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE generatorConfiguration
        PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
        "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">
<generatorConfiguration>
    <context id="Mysql" targetRuntime="MyBatis3Simple" defaultModelType="flat">
        <commentGenerator>
            <property name="suppressAllComments" value="true"></property>
            <property name="suppressDate" value="true"></property>
            <property name="javaFileEncoding" value="utf-8"/>
        </commentGenerator>

        <jdbcConnection driverClass="${driverClass}"
                        connectionURL="${connectionURL}"
                        userId="${userId}"
                        password="${password}">
        </jdbcConnection>

        <javaTypeResolver>
            <property name="forceBigDecimals" value="false"/>
        </javaTypeResolver>

        <javaModelGenerator targetPackage="${modelPackage}" targetProject="${src_main_java}">
            <property name="enableSubPackages" value="true"></property>
            <property name="trimStrings" value="true"></property>
        </javaModelGenerator>

        <sqlMapGenerator targetPackage="${sqlMapperPackage}" targetProject="${src_main_resources}">
            <property name="enableSubPackages" value="true"></property>
        </sqlMapGenerator>

        <!-- type="ANNOTATEDMAPPER",生成Java Model 和基于注解的Mapper对象
             type="MIXEDMAPPER",生成基于注解的JavaModel 和相应的Mapper对象
             type="XMLMAPPER",生成SQLMap XML文件和独立的Mapper接口  -->
        <javaClientGenerator targetPackage="${mapperPackage}" targetProject="${src_main_java}" type="XMLMAPPER">
            <property name="enableSubPackages" value="true"/>
        </javaClientGenerator>

        <!-- 这种方式是所有的表逆向生成类 下面是单个表具体看情况使用
        <table tableName="%">
            <generatedKey column="epa_id" sqlStatement="Mysql" identity="true" />
        </table> -->


        <!-- 要生成的表 tableName是数据库中的表名或视图名 domainObjectName是实体类名-->
        <table tableName="${tableName}" domainObjectName="${entityName}"
               enableCountByExample="false" enableUpdateByExample="false"
               enableDeleteByExample="false" enableSelectByExample="false"
               selectByExampleQueryId="false"></table>
    </context>
</generatorConfiguration>

4.刷新Gradle工程,在对应模块的other找到mbGenerator双击运行生成文件

image-20210624115519998

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Gradle 是一个强大的构建工具,常用于 Java 项目中管理依赖和构建过程。引入 MyBatis(一个流行的 Java ORM 框架)到 Gradle 项目中,可以通过配置 Gradle 插件和添加依赖来完成。以下是基本步骤: 1. **添加 Gradle 插件**: 在 `build.gradle` 文件中,你需要添加 Gradle插件来支持 JavaMyBatis。在 `plugins` 节点下,添加以下内容: ```groovy plugins { id 'java' id 'org.mybatis' version '3.5.7' // 使用你所需的 MyBatis 版本 } ``` 2. **配置 Maven Central 镜像** (如果还未配置): 如果你的网络访问 Maven Central(默认的中央仓库)有困难,你可以配置一个镜像源,例如阿里云的 Maven 镜像: ```groovy repositories { mavenCentral() maven { url "https://maven.aliyun.com/repository中央" } // 更换为你的阿里云镜像地址 } ``` 3. **添加 MyBatis 依赖**: 在 `dependencies` 节点中,添加 MyBatis 的核心库和相关的数据源驱动: ```groovy dependencies { implementation 'org.mybatis:mybatis:3.5.7' implementation 'com.alibaba:druid:1.2.41' // 或者使用你所需的数据库驱动 runtimeOnly 'mysql:mysql-connector-java:8.0.26' // 如果你的应用连接 MySQL 数据库 // 根据你的数据库选择合适的驱动 } ``` 4. **配置 MyBatis 配置文件**: MyBatis 需要一个 XML 配置文件(如 `mybatis-config.xml`),通常放在 `src/main/resources` 目录下。在这里配置数据源、SqlSessionFactory 等。 5. **启用扫描**: 如果你的项目使用了 Spring Boot,确保 MyBatis 的 mapper 接口被 Spring 扫描。在 Spring Boot 的 `application.properties` 或 `application.yml` 中添加以下内容: ```properties spring.datasource.type=com.alibaba.druid.pool.DruidDataSource # 更多配置... mybatis.mapper-locations=classpath*:mapper/*.xml ``` 6. **运行构建**: 最后,运行 `gradle build` 命令来构建项目并确保所有依赖已经被正确地引入。 相关问题-- 1. Gradle 中如何配置 MyBatis 的 SqlSessionFactory? 2. 如何在 Gradle 项目中处理 MyBatis 的 mapper 接口扫描? 3. 如何在没有使用 Spring Boot 的情况下,手动创建 MyBatis 的 SqlSessionFactory?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

头顶春风一点凉

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值