最好用的Mybatis插件:IDEA中MyBatisCodeHelperPro插件下载安装(全版本)、MyBatisCodeHelperPro插件激活方法、支持Windows/Mac系统(保姆级教程)

发布时间:2024年01月17日

一、MybatisCodeHelperPro 插件基本认识

1. 什么是 MybatisCodeHelperPro

概念: 是一款 IDEA 插件,用来快速操作 Mybatis,使用这个插件能使你的开发效率提升数倍,并且在 IDEA 中写 SQL 语句会有提示,等等。

2. 常用的几个功能

作用:

  • 插件可以识别 mybatis 动态标签,使用 mybatis 动态标签的 sql 可以正常提示,检测
  • mybatis 几乎所有地方的 sql 都有代码提示,可以写出安全的 sql
  • 从表上生成增删查改代码,在表上加字段后重新生成不会覆盖自己写的方法
  • 使用方法名生成完整的 sql,只要一个方法名就可以生成大部分单表操作的sql
  • resultMap、column 和 property 代码提示,检测,支持 associaction,collection,,columnPrefix
  • #{} 自动提示,检测
  • 从 java 类生成建表语句
  • 最好的 ognl 支持,if test自动提示检测,bind,foreach 等
  • 解析 select 语句中查询的字段,一键从 sql 生成 java 类和 resultMap
  • 从 sql 快速生成 mybatis xml 和 java 接口方法,可自定义参数
  • 快速给参数添加 if test
  • 从接口方法一键生成 testcase,可快速测试 sql
  • mybatis 代码格式化,兼容 mybatis 的动态标签
  • Spring 支持,检测项目配置的 mapperscan,识别 @Mapper 注解,将 mybatis 的类注入到spring 中,注入不再报错
  • mybatis sql log 支持,从控制台打印出完整的 sql,点击直接执行 sql
  • 大量的配置选项,比如某些插件要忽略部分参数解析,useActualParam 配置,typeAlias 配置等
  • 最好的泛型支持,接口方法或者参数使用泛型在 #{} if test 等也可以正常解析
  • #{},if test 等可重构参数名称
  • 支持 mybatis 简单的注解,代码提示,检测,可以一键把注解 sql 挪到 xml
  • 兼容 mybatisplus,tkmapper 等框架
  • 使用方法名生成 mybatisplus QueryWrapper

3. 为什么激活

这个插件可以免费试用,但是激活后,它的功能更加全面。

二、插件的下载方式

这里的操作演示,使用的是 Windows 系统,Mac 一样,有区别的位置,我会标志,没有说明就代表通用!

1. 在 idea 中 plugins 插件市场安装

在 IDEA 设置中找到 plugins ,搜索 MyBatisCodeHelper Pro 即可找到:

在这里插入图片描述

这里安装方式的话,一般都是最新版本,对后面激活操作不友好,所以这里不建议这么安装(如果不需要激活,请另说!!!)

2. 在 Jetbrains 官方插件市场下载安装(推荐)

1、官网:Jetbrains插件市场

在这里插入图片描述
2、搜索后,来到下面的页面:然后里面有操作文档、各版本下载链接

在这里插入图片描述

三、安装插件

1. MybatisCodeHelperPro3.2.x 版本下载安装为例

1、这里选择的版本为 3.2.4,建议大家也选择这个版本(因为这个版本不新也不旧,后续也好进行激活操作(版本不一致也没关系,后面会讲解)):
在这里插入图片描述
2、开始安装:

在这里插入图片描述

然后重启 IDEA 即可。

至此,插件的安装就完成了,下面是激活教程,不需要激活的不需要看,但建议大家激活!!!

四、MybatisCodeHelperPro激活

1. 激活前必看

申明: 激活操作跟版本有关。

1、这里的激活操作。版本需要是:3.1.x ~ 3.2.x ,高于 3.2.x 的版本激活操作不一样,请注意!!!

2、这里的激活操作。3.2.2、3.2.3、3.2.4、3.2.5 这几个版本已经测试了(也就是说,只要是这几个版本,按照下面激活操作,都能成功),至于 3.1.x 的版本,没有亲自测试,但基本上也能成功。

3、下面以 3.2.4 版本激活为例。


2. 激活步骤(MybatisCodeHelperPro3.2.4为例)

1、前提:先去下载 3.2.4 的版本,并在 IDEA 中进行安装。

2.1 正式开始

2、下载 cfr jar包:百度网盘链接如下:

链接:https://pan.baidu.com/s/1XuNsSGHeuTzWTLJr9PI9nw
提取码:1234

3、找到 第 1 步 中 插件的安装位置,并找到安装的 jar 包:

  • Windows: 在地址栏输入 %appdata%\JetBrains\ 找到 idea 安装目录,里面有个 plugins文件夹,然后里面有个文件夹 MyBatisCodeHelper-Pro

① 一般 Windows 的位置为:C:\Users\用户名\AppData\Roaming\JetBrains\IntelliJIdea2021.1\plugins\MyBatisCodeHelper-Pro,实在不知道的就 输入上面这个命令:%appdata%\JetBrains\

② 要注意用户名目录和你的 idea 版本号

  • MacOS: /Users/用户名/Library/Application Support/JetBrains/IntelliJIdea2023.1/plugins/MyBatisCodeHelper-Pro

① 要注意用户名目录和你的 idea 版本号

4、 然后进入到 lib 文件夹,找到 MyBatisCodeHelper-Pro-obfuss.jar

在这里插入图片描述
5、将它和刚刚下载的 cfr 的 jar 包拷贝到另一个地方,比如桌面,方便修改:

在这里插入图片描述

2.2 开始反编译 jar 包

1、在刚刚两个 jar 包的目录打开终端(Windows是打开cmd,一个意思)

2、输入命令:

java -jar cfr-0.152.jar MyBatisCodeHelper-Pro-obfuss.jar --renamedupmembers true --hideutf false >> result.txt

需要注意 cfr 版本号(如果你跟我下载的不是一个版本,需要更改为指定版本)

过程会比较慢,耐心等待…

执行完毕文件夹中会出现一个 result 的文本文件:

在这里插入图片描述

2.3 修改

用一个比较方便的工具打开上面的 result.txt,这里推荐一个工具:notepad++

超好用的文本编辑工具:notepad++

1、搜索 validTo,找到具有 paidKey、valid、validTo 的类:

在这里插入图片描述
非常重要:注意:不同插件版本,这个类的位置会不一样

说明:

  • valid 为判断是否在有效期的变量,变量定义为下方的 private Boolean c;
  • validTo 为有效时长变量,定义为下方的 private Long a;
  • package com.ccnode.codegenerator.Y.e 是当前类所在的包,类名为 e,由此可知当前类的绝对定位为 com.ccnode.codegenerator.Y.e.e

理解下面这个图片很重要:
在这里插入图片描述
所以需要对照自己的版本、自己的变量名称来设置(在哪设置,接着往下看)

2、需要修改哪些东西呢?我们先看看需要修改的东西,然后再进行代码实现:

修改 valid:

在这里插入图片描述

(再次提醒:不同的插件版本变量名称也不一样,你要看清楚!)

修改 validTo:

在这里插入图片描述

(再次提醒:不同的插件版本变量名称也不一样,你要看清楚!)

3、知道要修改后,就开始代码实现:

① 使用 IDEA 创建一个 Maven 项目(项目是不是空的无所谓,因为只需要引入依赖即可)

② 引入依赖:

<!-- javassist -->
<dependency>
	<groupId>org.javassist</groupId>
	<artifactId>javassist</artifactId>
	<version>3.28.0-GA</version>
</dependency>

③ 代码实现:

以下代码需要注意几点:

  • pool.insertClassPath("MyBatisCodeHelper-Pro-obfuss.jar"); 需要填写 MyBatisCodeHelper-Pro-obfuss.jar 在你本机实际的路径!(也就是这个路径:C:\Users\用户名\AppData\Roaming\JetBrains\IntelliJIdea2021.1\plugins\MyBatisCodeHelper-Pro
  • cc.writeFile("C:\\Users\\ASUS\\Desktop\\zfp\\1"); 需要填写要输出的路径
  • 还有就是代码中体现的包名,类名,变量名,都要和上面咱们准备的时候一直,这个一定要注意!!!代码都有注释!注意看!
import javassist.ClassPool;
import javassist.CtClass;
import javassist.CtMethod;

public class App {
    public static void main(String[] args) {
        try {
            ClassPool pool = ClassPool.getDefault();
            // 此处改为你实际的的 MyBatisCodeHelper-Pro-obfuss.jar 的路径
            pool.insertClassPath("C:\\Users\\ASUS\\AppData\\Roaming\\JetBrains\\IntelliJIdea2021.1\\plugins\\MyBatisCodeHelper-Pro\\lib\\MyBatisCodeHelper-Pro-obfuss.jar");
            // 通过绝对定位,加载指定的类
            CtClass cc = pool.get("com.ccnode.codegenerator.Y.e.e");

            // 获取validTo的get方法
            // public Long e()
            CtMethod getValidToMethod = cc.getDeclaredMethod("a");

            // 获取validTo的set方法的参数:Long
            CtClass[] params = new CtClass[]{pool.get("java.lang.Long")};

            // 获取validTo的set方法
            // public void a(Long l2)
            CtMethod setValidToMethod = cc.getDeclaredMethod("a", params);

            // 获取valid的set方法的参数:Boolean
            CtClass[] params1 = new CtClass[]{pool.get("java.lang.Boolean")};
            // 获取Valid的set方法
            // public void a(Boolean bl)
            CtMethod setValidMethod = cc.getDeclaredMethod("a", params1);

            // 获取valid的get方法
            // public Boolean b()
            CtMethod getValidMethod = cc.getDeclaredMethod("e");

            // 修改validTo的get方法
            // 直接返回4797976044000
            StringBuilder builder = new StringBuilder();
            builder.append("{")
                    .append("       return new Long(4797976044000L);")
                    .append("}");
            getValidToMethod.setBody(builder.toString());

            // 修改validTo的set方法
            // 直接设为4797976044000
            StringBuilder builder1 = new StringBuilder();
            builder1.append("{")
                    .append("        this.a = new Long(4797976044000L);")
                    .append("}");
            setValidToMethod.setBody(builder1.toString());

            // 修改valid的set方法
            // 设为True
            String getValidMethodBuilder = "{" +
                    "       return Boolean.TRUE;" +
                    "}";
            getValidMethod.setBody(getValidMethodBuilder);

            // 修改valid的get方法
            // 直接返回True
            String setValidMethodBuilder = "{" +
                    "this.c = Boolean.TRUE;" +
                    "}";
            setValidMethod.setBody(setValidMethodBuilder);

            // 将修改后的Class b写入指定文件夹
            cc.writeFile("C:\\Users\\ASUS\\Desktop\\zfp\\1");
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

注意:再次强调,代码中的 a、e、c 什么什么的,要和自己的一致、一致

4、运行上面的代码后会在你指定的文件夹中生成修改的 e.class:

在这里插入图片描述
打开看一下是不是修改成功了:

在这里插入图片描述

2.4 替换 class 文件

1、用压缩工具打开刚刚拷贝出来的 MyBatisCodeHelper-Pro-obfuss.jar

在这里插入图片描述
2、找到 com.ccnode.codegenerator.Y.e.e 并替换成我们刚刚得到的 class 文件

3、然后关闭压缩工具即可。

4、将我们拷贝出来并修改完的 MyBatisCodeHelper-Pro-obfuss.jar,替换 lib 目录下的 MyBatisCodeHelper-Pro-obfuss.jar

2.5 最后一步:重启 IDEA

重新打开IEDA,然后找到 激活界面, 随便输入点东西,点击激活,如果出现下面的界面,说明成功了:

1、进入激活页面:

在这里插入图片描述
2、如图:

在这里插入图片描述

在这里插入图片描述

如果不小心更新了插件,按照上述步骤重新操作即可。

至此,教程完毕!后续会有更精彩的内容,欢迎留言点赞评论!!!

文章来源:https://blog.csdn.net/zhangfuping123456789/article/details/135626986
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。