作者:邱洋
QQ:1964477
雖然在hibernate中有show_sql選項,但是顯示出來的語句大多類似
select * from xxx where value=?
但是有時候我們需要得到完整的SQL語句,怎么辦呢?使用P6SPY就可以完成這個任務
p6spy是一個開源軟件,它可以跟蹤任何使用jdbc的應用產生的數據庫操作。特別適合于監控ejb服務器產生的 sql statements。
官方網址:http://www.p6spy.com/
目前p6spy 適用的應用服務器包括jboss, atg, orion, jonas, iplanet, weblogic, websphere, resin and tomcat.
下面我介紹一下p6spy在tomcat應用程序上安裝的步驟:
(1)http://www.p6spy.com/download.html,下載zip包
(2)解壓出p6spy.jar spy.properties兩個文件
(3)將p6spy.jar 放入應用程序的WEB-INF/lib目錄,將spy.properties放入WEB-INF/classes目錄
(4)修改spy.properties
realdriver =com.mysql.jdbc.Driver 將這行前面的#去掉
logfile = c:/spy.log 修改一個你需要的日志文件名
(5)修改hibernate.xml,修改connection.driver_class的值為com.p6spy.engine.spy.P6SpyDriver
(6)重啟tomcat
(7)這樣在c:/下的spy.log記錄了數據庫的訪問情況。