Jrebel mybatisplus热加载插件,支持重新加载修改后的SQL映射
(中文|English)
-
你的IDE安装了JRebel插件
-
mybatis-plus:3.1.1+
-
IDEA Run/Debug Configurations 配置
On 'Update' actions: Update classes and resources
On frame deactivation: Update classes and resources
已开发IDEA的插件 jrebel-mybatisplus-idea-plugin. 安装插件后即可使用,不需要再配置了。
git clone git@github.com:SweetInk/jrebel-mybatisplus.git
cd jrebel-mybatisplus
mvn -f jr-mybatisplus/pom.xml clean package
将构建好的插件jrebel-mybatisplus\target\jr-mybatisplus.jar
拷贝至任意目录, 比如: d:\jrebel\plugin\jr-mybatisplus.jar
打开你的IDE(Intellij IDEA or Eclipse),修改运行配置,增加VM参数:-Drebel.plugins=d:\jrebel\plugin\jr-mybatisplus.jar
,然后以JRebel方式启动
检查插件是否生效:
修改你项目中的mapper xml 文件后,重新编译,如果重新请求接口,你应该会看到控制台输出 “Reloading SQL maps”
public class YourClassCBP extends JavassistClassBytecodeProcessor {
public void process(ClassPool cp, ClassLoader cl, CtClass ctClass) throws Exception {
//TODO class modify
String output = "X:\\workspace\\dump";
ctClass.writeFile(output);
if (ctClass.isFrozen()) {
ctClass.defrost();
}
}
}