文章出處

由于ORM工具的緣故,我們調試程序的時候遠沒有直接在程序里直接寫個string的SQL簡單,想當年查個sql是有多么的幸福,一行sql = "select * from ..."找找就行了, 現在用了hibernate, 就算在JPA中開了show_sql=true, 打出來的還是一串 "name = ? and id = ? "

好在找到一個工具, p6spy, 作為真正JDBC的一個代理, 截獲了所有sql, 讓我們看到一個真實sql的機會。 先下載,以下配置默認跟我目前項目一樣

hibernate+proxool+postgresql      改后的部署層次為hibernate+proxool+p6spy+postgresql

p6spy 下載后,將jar包解壓, 步驟很簡單:

  1. p6spy.jar放到web程序的web-inf/lib下。
  2. spy.properteis 放入web-inf/classess下

spy.properties上將以下屬性改一下就好了:

realdriver=org.postgresql.Driver   //真正的JDBC驅動名

deregisterdrivers=true

appender=com.p6spy.engine.logging.appender.StdoutLogger  //輸出到控制臺

然后改proxool連接池的配置, 用p6spy代替真正的JDBC驅動, 作為一個中間代理,截獲SQL

proxool.properties 

jdbc-0.proxool.driver-class=com.p6spy.engine.spy.P6SpyDriver

配置完成了,打開IDE,欣賞下久違的sql語句吧

 


文章列表


不含病毒。www.avast.com
arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()