ฉันมีวิธี Java ทั่วไปที่มีลายเซ็นวิธีการดังต่อไปนี้:
private static ResultSet runSQLResultSet(String sql, Object... queryParams)
มันเปิดการเชื่อมต่อสร้างการPreparedStatement
ใช้คำสั่ง sql และพารามิเตอร์ในqueryParams
อาร์เรย์ความยาวตัวแปรเรียกใช้แคชResultSet
(ในCachedRowSetImpl
), ปิดการเชื่อมต่อและส่งกลับชุดผลแคช
ฉันมีข้อยกเว้นการจัดการในวิธีการที่บันทึกข้อผิดพลาด ฉันบันทึกคำสั่ง sql เป็นส่วนหนึ่งของบันทึกเนื่องจากมีประโยชน์มากสำหรับการแก้ไขข้อบกพร่อง ปัญหาของฉันคือการบันทึกตัวแปร String จะsql
บันทึกคำสั่งเทมเพลตด้วยหรือไม่แทนค่าจริง ฉันต้องการบันทึกคำสั่งจริงที่ดำเนินการ (หรือพยายามดำเนินการ)
ดังนั้น ... มีวิธีที่จะได้รับคำสั่ง SQL ที่เกิดขึ้นจริงที่จะดำเนินการโดยใดPreparedStatement
? ( โดยไม่ต้องสร้างมันด้วยตัวเองถ้าฉันไม่สามารถหาวิธีเข้าถึงPreparedStatement's
SQL ได้ฉันอาจจะสร้างมันด้วยตัวเองในcatch
es)