Mendapatkan Kueri Terbina daripada PreparedStatement
Apabila bekerja dengan pernyataan yang disediakan dalam Java menggunakan java.sql.PreparedStatement, ia menjadi penting untuk nyahpepijat dan sahkan pertanyaan sebenar sedang dilaksanakan. Walau bagaimanapun, tiada kaedah yang wujud dalam API JDBC untuk mendapatkan kembali pertanyaan yang dibina secara terus.
Penyelesaian
Nasib baik, pemacu JDBC tertentu mungkin menyediakan penyelesaian melalui PreparedStatement# kaedah toString().
Semak dengan Pelaksanaan Pemacu
Pemandu seperti PostgreSQL 8.x dan MySQL 5.x pemacu JDBC boleh mengembalikan pertanyaan SQL yang lengkap apabila memanggil PreparedStatement#toString(). Untuk menggunakan ciri ini:
<code class="java">System.out.println(preparedStatement);</code>
Pilihan Alternatif
Jika pemacu JDBC tidak mempunyai fungsi ini, pertimbangkan untuk menggunakan pembungkus pernyataan yang memintas semua panggilan ke kaedah setXxx() dan membina rentetan SQL apabila toString() dipanggil. Perpustakaan seperti P6Spy menawarkan keupayaan sedemikian.
Permintaan Pelaksanaan
Dalam kes di mana pemandu tidak menyokong mendapatkan semula pertanyaan, serahkan permintaan ciri kepada pasukan pembangunan. Tingkah laku toString() boleh dilaksanakan untuk menyediakan akses kepada pertanyaan yang dibina untuk tujuan penyahpepijatan.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mendapatkan Pertanyaan Terbina daripada PreparedStatement di Java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!