PreparedStatement から構築されたクエリを取得する
java.sql.PreparedStatement を使用して Java でプリペアド ステートメントを操作する場合、デバッグが不可欠になります。実際に実行されているクエリを確認します。ただし、JDBC API には、構築されたクエリを直接取得する固有のメソッドはありません。
解決策
幸いなことに、特定の JDBC ドライバーは PreparedStatement# を通じて回避策を提供する場合があります。 toString() メソッド。
ドライバー実装を確認します
PostgreSQL 8.x や MySQL 5.x JDBC ドライバーなどのドライバーは、呼び出し時に完全な SQL クエリを返す場合があります。 PreparedStatement#toString()。この機能を利用するには:
代替オプション
JDBC ドライバーにこの機能がない場合は、setXxx() メソッドへのすべての呼び出しをインターセプトするステートメント ラッパーの使用を検討してください。 toString() が呼び出されたときに SQL 文字列を構築します。 P6Spy のようなライブラリは、そのような機能を提供します。
実装のリクエスト
ドライバーがクエリの取得をサポートしていない場合は、開発チームに機能リクエストを送信します。 toString() 動作を実装すると、デバッグ目的で構築されたクエリへのアクセスを提供できます。
以上がJava で PreparedStatement から構築されたクエリを取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。