用P6Spy監(jiān)視iBatis的SQL輸出
最近公司項(xiàng)目用到iBatis,開發(fā)環(huán)境是JDeveloper + Oracle10g,在進(jìn)行調(diào)試的時候感覺很不方便,因?yàn)楹笈_并不打印SQL語句,而sqlmap.xml文件中的Sql語句錯誤又很難被發(fā)現(xiàn),因此想到了用P6Spy幫一下忙,大致配置過程如下:
1、下載P6Spy.jar文件,雖然p6spy很久沒有更新了,但是也能滿足我只是“看看SQL語句“的需要了。 http://www. 直接下載p6spy-src.zip文件,因?yàn)橐远xp6spy的輸出格式,而默認(rèn)的輸出中SQL中的空格導(dǎo)致察看SQL很不方便。 2、解壓縮,是一個Ant編譯目錄,打開build.xml文件,里面定義了編譯所需要用到的JAR包。 其中jboss.jar為2.4.6,比較早的版本,如果應(yīng)用服務(wù)器不是jboss的話可以把com\p6spy目錄下的management目錄刪除,這樣編譯的時候就可以不用找jboss.jar文件了(不好找)。 3、將com\p6spy\engine\logging\appender\FormattedLogger.java文件中的logSQL()方法更改為如下: java 代碼
4、運(yùn)行Ant進(jìn)行編譯,默認(rèn)目標(biāo)即是生成jar文件。 5、將dist\p6spy.jar拷貝到項(xiàng)目WEB-INF\lib目錄下,也可以定義為自定義包變量引入到工程中。 6、將spy.properties文件拷貝到目錄WEB-INF\classes目錄下。 7、更改spy.properties文件,將項(xiàng)目中用到的數(shù)據(jù)庫驅(qū)動改為com.p6spy.engine.spy.P6SpyDriver,并將spy.properties文件中的realdriver改為真實(shí)連接數(shù)據(jù)庫的driver. 8、完成。 |
|