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