Mengambil Pertanyaan daripada PreparedStatement untuk Nyahpepijat
Dalam pengaturcaraan pangkalan data Java, kelas java.sql.PreparedStatement biasanya digunakan untuk melaksanakan pertanyaan SQL dengan input berparameter. Apabila menyahpepijat isu SQL, adalah berguna untuk mendapatkan semula rentetan pertanyaan terakhir sebelum melaksanakannya.
Untuk menentukan sama ada pemacu JDBC anda menyokong mendapatkan semula rentetan pertanyaan, anda boleh memanggil PreparedStatement#toString(). Sesetengah pemacu, seperti PostgreSQL dan MySQL, mungkin mengembalikan pernyataan SQL yang lengkap melalui kaedah ini.
Contohnya:
<code class="java">System.out.println(preparedStatement);</code>
Jika pemandu anda tidak menyokong tingkah laku ini, pendekatan alternatif melibatkan menggunakan perpustakaan pembungkus pernyataan, seperti P6Spy. Pustaka ini memintas dan merekodkan panggilan ke kaedah setXxx() dan mereka boleh menjana rentetan pertanyaan SQL berdasarkan maklumat ini.
Jika kedua-dua pilihan ini tidak tersedia, pertimbangkan untuk menyerahkan permintaan peningkatan kepada pemacu JDBC pasukan pembangunan untuk melaksanakan tingkah laku toString() yang dikehendaki. Ini akan membolehkan penyahpepijatan lebih mudah dengan membolehkan anda mendapatkan semula pertanyaan sebenar yang akan dilaksanakan.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Dapatkan Kembali Pertanyaan SQL Akhir daripada PreparedStatement dalam Java untuk Penyahpepijatan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!