最近學(xué)的比較雜,以至于我寫這篇博客的時候,一時不知該從何說起,我想我應(yīng)該從她說起,她是誰,我后端路上的助力手---IDEA ,剛開始接觸idea應(yīng)該是15年初,學(xué)學(xué)Android就用了AS,基于IDEA的一款工具,后來后端路上任務(wù)重了,就暫時放開了Android。再次接觸IDEA是15年11月份的時候,離開了用了2年多的Eclipse,上手很快,界面很細(xì)膩,一個字:棒。
在ZHB大半年,來的時候項(xiàng)目已經(jīng)骨架已經(jīng)搭建完了,一直做的都是在項(xiàng)目的基礎(chǔ)上修修改改,反正我也不具備搭架構(gòu)的能力,一直到PHP吉吉大神問我一些mybatis的問題,mybatis才又重新回到我的視野。
重新來弄mybatis,算是復(fù)習(xí)吧,首先創(chuàng)建配置文件,寫著寫著就想到了eclipse上有一個mybatis的插件,主要是用來代碼提示和構(gòu)建配置文件骨架的。IDEA上應(yīng)該也有一個插件,就去搜了一下,
QQ20160317-0@2x.png
沒想到這家伙竟然從2.4版本開始收費(fèi)了,無奈,只能破解了。【官網(wǎng)】
步驟
- 1、在IDEA中安裝插件
- 2、使用javassist修改idea mybatis插件
a. 下載javassist.jar
b. 將mybatis_plus.jar復(fù)制到某一工作目錄下, 同時也將(a)中下載的javassist.jar放到該目錄下
cp ~/Library/Application Support/IntelliJIdea2016.1/mybatis_plus/lib/mybatis_plus.jar ~/Docment/
c. 反編譯查看源碼:使用 【JD-GUI】打開 mybatis_plus.jar,查看源碼
d. 使用javassist修改字節(jié)碼,新建MyCrack.java
cd ~/Document/
vim MyCrack.java
#將以下內(nèi)容復(fù)制到MyCrack.java中
import javassist.*;
public class MyCrack {
public static void main(String[] args) throws Exception {
ClassPool pool = ClassPool.getDefault();
CtClass c = pool.get("com.seventh7.mybatis.util.JavaUtils");
CtMethod m = c.getDeclaredMethod("refValid");
m.setBody("{ validated = true; valid = true; return valid; }");
c.writeFile();
CtClass cc = pool.get("com.seventh7.mybatis.service.JavaService");
CtMethod mm = cc.getDeclaredMethod("stop");
mm.setBody("{ return; }");
cc.writeFile();
}
}
e. 編譯運(yùn)行MyCrack.java
javac -classpath ".:javassist-3.20.0-GA.jar:mybatis_plus.jar" MyCrack.java
java -classpath ".:javassist-3.20.0-GA.jar:mybatis_plus.jar" MyCrack
此時會在當(dāng)前目錄下生成修改過的兩個類文件
com/seventh7/mybatis/service/JavaService.class
com/seventh7/mybatis/util/JavaUtils.class
f. 替換class文件
# 解壓jar包,-d 表示指定目錄
unzip mybatis_plus.jar -d ./test
# cp步驟f中產(chǎn)生的class文件到解壓后的相應(yīng)目錄下
#打包成jar
jar cvfm mybatis_plus.jar test/META-INF/MANIFEST.MF -C test/ .
#上面命令表示將test目錄下的所有文件都打成jar包,MANIFEST.MF表示清單文件
- 3、替換:
cd ~/Library/Application Support/IntelliJIdea2016.1/mybatis_plus/
# 可以先見目錄下的lib文件夾壓縮備份,免得不成功,又得卸載重新安裝
tar cvf lib.tar.gz lib/
# 復(fù)制2中生成的mybatis_plus.jar到mybatis插件的安裝目錄cp ~/Document/mybatis_plus.jar ~/Library/Application Support/IntelliJIdea15/mybatis_plus/lib/
#重啟IDEA即可,windows用戶用法類似
以上即為破解,第二篇將講講插件的使用,特別是使用插件生成mapper文件和接口。
第三篇進(jìn)入正題,講講mybatis的單獨(dú)使用及其與Spring的集成。