2012-02-03 21 views
1

我使用Spring框架中的SimpleJdbcTemplate類以預準備語句(問號)的格式執行SQL查詢。特別是,我調用queryForInt(String sql,Object ... args)方法。如何打印由SimpleJdbcTemplate執行的最終SQL

有沒有什麼辦法打印出最後的構建的查詢?

回答

0

PreparedStatement的某些實現在您打電話給toString時打印SQL。但是,通常情況下,您必須將驅動程序封裝在代理中(它監聽jdbc調用並從中重新構建SQL)。有一些開源庫,P6Spy和log4jdbc,這樣做。 Shirazi的書Java性能調優有一個代理實現。

我一直在使用log4jdbc,它工作得很好,它很容易設置。

0

「構造」查詢可能甚至不是一個有效的概念。並非所有驅動程序都通過插入參數客戶端來實現佔位符。