從PreparedStatement擷取建構的查詢
在Java中使用java.sql.PreparedStatement處理準備好的語句時,偵錯變得至java關重要並驗證正在執行的實際查詢。但是,JDBC API 中沒有固有的方法可以直接檢索建構的查詢。
解決方案
幸運的是,特定的 JDBC 驅動程式可以透過PreparedStatement 提供解決方法# toString() 方法。
檢查驅動程式實作
驅動程式(例如PostgreSQL 8.x 和MySQL 5.x JDBC 驅動程式)在呼叫時可能會傳回完整的SQL 查詢準備語句#toString()。要利用此功能:
<code class="java">System.out.println(preparedStatement);</code>
替代選項
如果JDBC 驅動程式缺少此功能,請考慮使用語句包裝器來攔截對setXxx() 方法的所有呼叫並在呼叫toString() 時建構一個SQL 字串。像 P6Spy 這樣的函式庫提供了這樣的功能。
請求實作
如果驅動程式不支援檢索查詢,請向開發團隊提交功能請求。可以實作 toString() 行為來提供對建構查詢的存取以進行調試。
以上是如何從Java中的PreparedStatement中檢索建構的查詢?的詳細內容。更多資訊請關注PHP中文網其他相關文章!