当前位置: 代码网 > it编程>编程语言>Java > 最好用的Mybatis插件:IDEA中MyBatisCodeHelperPro插件下载安装(全版本)、MyBatisCodeHelperPro插件激活方法、支持Windows/Mac系统(保姆级教程)

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

2024年08月01日 Java 我要评论
mybatis、MybatisCodeHelperPro、IDEA插件

一、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. 为什么激活

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

二、插件的下载方式

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包:百度网盘链接如下:

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++

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、如图:

在这里插入图片描述

在这里插入图片描述

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

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com