[解決済み] java.sql.PreparedStatementからクエリを取得する [重複]。
2022-04-20 20:41:48
質問
<余談
私のコードでは
java.sql.PreparedStatement
.
次に、私は
setString()
メソッドを使用して、準備された文のワイルドカードを入力します。
の前に最終的なクエリを取得する(そして印刷する)方法はありますか?
executeQuery()
メソッドが呼び出され、クエリが実行されるのでしょうか? デバッグ用に欲しいだけなのですが。
どのように解決するのですか?
これはJDBC APIコントラクトのどこにも定義されていませんが、もしあなたが
ラッキー
を呼び出すだけで、当該JDBCドライバは完全なSQLを返すかもしれません。
PreparedStatement#toString()
. すなわち
System.out.println(preparedStatement);
私の経験では、現在そうなっているのは少なくとも PostgreSQL 8.x と MySQL 5.x の JDBC ドライバです。
JDBCドライバがサポートしていない場合、最善の方法は、ステートメントラッパーを使用して
setXxx()
メソッドにSQL文字列を入力し、最終的に
toString()
を記録した情報を元に これを実現する既存のライブラリは
P6Spy
. 一方、JDBCドライバの開発チームに機能強化のリクエストを提出し、希望の
toString()
という動作もあります。
関連
-
ブラウザでの大容量ファイルスライスアップロード(Javaサーバサイド実装)
-
[解決済み] 配列からArrayListを作成する
-
[解決済み] Java で、あるコンストラクタを別のコンストラクタから呼び出すにはどうすればよいですか?
-
[解決済み] Javaで文字列値からenum値を取得する方法
-
[解決済み] 整数の平方根が整数であるかどうかを判断する最速の方法
-
[解決済み] Eclipseにプロジェクトをインポートした後に「Must Override a Superclass Method」エラーが発生する。
-
[解決済み] Javaでリストを反復処理する方法
-
[解決済み】Javaではfinallyブロックは必ず実行されるのですか?
-
[解決済み】Mac OS Xでは、Javaはどこにインストールされていますか?
-
[解決済み] PreparedStatementのSQLを取得するにはどうすればよいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
エラー java.util.NoSuchElementException
-
jd-gui Java Exceptionが発生しました。
-
サーブレットクラスのインスタンス化エラーの解決法
-
spring-boot 401 このリソースにアクセスするには完全な認証が必要です エラー解決
-
javaでよく使われる英単語
-
Eclipse起動エラー:javaは起動したが、終了コード=1を返した(ネット上の様々な落とし穴)
-
mavenプロジェクトのテストエラー java.lang.ClassNotFoundException: org.glassfish.jersey.client.ClientConfig の問題を解決する。
-
HttpClientがGZIP形式でない場合の対処法
-
コミットには何も追加されないが、未追跡のファイルが存在し、gitで未追跡のファイルに対する完璧な解決策
-
[解決済み] PreparedStatementのSQLを取得するにはどうすればよいですか?