gradle转maven_SpringBoot 2.4.0 Gradle构建系列之三

SpringBoot 2.4.0 Gradle使用插件去掉POJO的Getter和Setter方法

编者: wRitchie(吴理琪) 来源:http://www.bj9420.com

SpringBoot2.4.0项目采用Grale构建,插件MyBatis Generator是一个Mybatis工具项目,用于生成Mybatis的Model、Mapper、Dao持久层的代码,而使用lombok插件,对于自动生成的Getter、Setter方法,希望自动生成时,自动去掉,本文就为解决这个。

一、 Mybatis Generator 自定义插件(ngs)开发

1、 新建gradle Java工程ngs(noGetterSetter)

b988a3253e94e6da1ce823ab03f1a3cc.png

2、点击Next

6fb61ba30d73252d6e253a91239ea697.png

3、build.gradle.引入mybatis-generator-core依赖

b96b98096673a85e68024d50335212de.png

4、在java目录下创建NoGetterSetterPlugin.java

package com.bj9420;import org.mybatis.generator.api.IntrospectedColumn;import org.mybatis.generator.api.IntrospectedTable;import org.mybatis.generator.api.PluginAdapter;import org.mybatis.generator.api.dom.java.Method;import org.mybatis.generator.api.dom.java.TopLevelClass;import java.util.List;/** * @Title: NoGetterSetterPlugin.java * @Description: Mybatis使用插件去掉POJO对象的Getter和Setter,并加上@Data注解 * @author: wRitchie * @date: 2020/12/2 10:09 * @version: V1.0 * @Copyright (c): 2020 http://www.bj9420.com   All rights reserved. */public class NoGetterSetterPlugin extends PluginAdapter {    /**    * @Author: wRitchie    * @Description: validate implement abstract method 'validate(List)' in 'Plugin'    * @Param: [list]    * @return: boolean    * @Date: 2020/12/2 10:10    */    public boolean validate(List list) {        return true;    }    /**    * @Author: wRitchie    * @Description: modelBaseRecordClassGenerated 该代码表示在生成class的时候,向topLevelClass添加一个@Data /@Setter和@Getter注解    * @Param: [topLevelClass, introspectedTable]    * @return: boolean    * @Date: 2020/12/2 11:10    */    @Override    public boolean modelBaseRecordClassGenerated(TopLevelClass topLevelClass, IntrospectedTable introspectedTable) {        topLevelClass.addAnnotation("import lombok.Data;@Data");        return super.modelBaseRecordClassGenerated(topLevelClass, introspectedTable);    }    /**    * @Author: wRitchie    * @Description: modelGetterMethodGenerated 该方法在生成每一个属性的getter方法时候调用,如果我们不想生成getter,直接返回false即可;    * @Param: [method, topLevelClass, introspectedColumn, introspectedTable, modelClassType]    * @return: boolean    * @Date: 2020/12/2 11:20    */    @Override    public boolean modelGetterMethodGenerated(Method method, TopLevelClass topLevelClass, IntrospectedColumn introspectedColumn, IntrospectedTable introspectedTable, ModelClassType modelClassType) {        return false;    }    /**    * @Author: wRitchie    * @Description: modelSetterMethodGenerated 该方法在生成每一个属性的setter方法时候调用,如果我们不想生成setter,直接返回false即可;    * @Param: [method, topLevelClass, introspectedColumn, introspectedTable, modelClassType]    * @return: boolean    * @Date: 2020/12/2 11:20    */    @Override    public boolean modelSetterMethodGenerated(Method method,TopLevelClass topLevelClass, IntrospectedColumn introspectedColumn,IntrospectedTable introspectedTable, ModelClassType modelClassType) {        return false;    }}

5、安装到本地仓库:idea右侧点击Gradle,展开Tasks,展开publishing,双击执行pubishToMavenLocal

3a1f9feceb75a38eef193311ddae3fdc.png

6、执行成功:

7d7b52db38564cc14d67154b06f4607c.png

7、可以在maven本地仓库中看到已安装到本地仓库中

7d22672d875c71dcd19fd94d2aa096e8.png

二、Mybatis Generator 自定义插件的使用

1、在实际的项目中,使用Mybatis Generator代码插件,增加自定义插件至配置文件generatorConfig.xml中:,如下图:

1a4b33ee03de3938ae55a8444024b74a.png

2、mybatis-dev.properties配置文件

b7d1ba5396168f021e1422c009eebe06.png

2、 generatorConfig.xml配置文件

8a2b0d88c0b7cf12705d1a4a16fd9600.png
85642ff59c0c95d24ea7b2dbdaf8f21d.png

三、 build.gradle配置文件

1、添加mybatisGenerator

17efe13bb83ef6a1872df0948f7a377d.png

2、添加依赖,注意把前面的compile group改为第一步添加的mybatisGenerator

b86a81804f1b03363ea97a576d328a80.png

注:典型的难者不会,会者不难。这是折腾小半天,最后灵光一现才想到加上mybatisGenerator 'com.bj9420:ngs:1.0.0',开始一直报错:找不到com.bj9420.NoGetterSetterPlugin类!!!

810bfb1832bea97d7c0e5b28ec3fcd04.png

3、添加任务

38ed628a7cefa149922f4fb6ff7ad300.png
3e2fc58204de1c608763ed73bac26de7.png

四、 运行

1、在Gradle中刷新,点开module下的other里找到mybatisGenarate

4c43638b05c41ebf8a01ce705adaf535.png

2、双击mybatisGenarate,自动生成Model、Mapper、Dao成功:

4fb5ac5282b64ed449b25abd44c82179.png

3、生成代码结构:

b535fe4ad8eff1a0baa77acbe35871f8.png
e2f73d048ab2e9a9b4453ed7b1d3cdd0.png

4、生成代码去掉GetterSetter的POJO对象如图:

9e158eda1250ff152ca71c7e4c58aa5b.png

至此,SpringBoot 2.4.0 Gradle使用MyBatis Generator插件去掉POJO的Getter和Setter方法完成,本文是《Gradle MyBatisGenerator自动生成代码》、《SpringBoot 升级2.4.0maven转gradle》、《Mybatis使用自定义插件去掉POJO的Getter和Setter方法》等以前项目的持续优化改进,实现SpringBoot+Mybatis从Maven构建到Gradle构建的转变,文章的形成,都是现实项目的需要,实践中的自我总结记录。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值