คำถามติดแท็ก jdbctemplate

5
วิธีการดำเนินการแบบสอบถาม IN () SQL ที่มี JDBCTemplate ของ Spring มีผลบังคับใช้อย่างไร
ฉันสงสัยว่ามีวิธีที่สง่างามกว่าในการทำคำสั่ง IN () กับ JDBCTemplate ของ Spring หรือไม่ ขณะนี้ฉันทำอะไรแบบนั้น: StringBuilder jobTypeInClauseBuilder = new StringBuilder(); for(int i = 0; i < jobTypes.length; i++) { Type jobType = jobTypes[i]; if(i != 0) { jobTypeInClauseBuilder.append(','); } jobTypeInClauseBuilder.append(jobType.convert()); } ซึ่งค่อนข้างเจ็บปวดเพราะถ้าฉันมีเก้าบรรทัดเพียงเพื่อสร้างประโยคสำหรับแบบสอบถาม IN () ฉันต้องการได้อะไรเช่นการแทนที่พารามิเตอร์ของข้อความที่เตรียมไว้
177 java  sql  spring  jdbc  jdbctemplate 

16
แบบสอบถาม Jdbctemplate สำหรับสตริง: EmptyResultDataAccessException: ขนาดผลลัพธ์ไม่ถูกต้อง: คาดว่า 1, 0 จริง
ฉันใช้ Jdbctemplate เพื่อดึงค่า String เดียวจาก db นี่คือวิธีการของฉัน public String test() { String cert=null; String sql = "select ID_NMB_SRZ from codb_owner.TR_LTM_SLS_RTN where id_str_rt = '999' and ID_NMB_SRZ = '60230009999999'"; cert = (String) jdbc.queryForObject(sql, String.class); return cert; } ในสถานการณ์ของฉันเป็นไปได้ที่จะไม่ได้รับผลกระทบจากข้อความค้นหาของฉันดังนั้นคำถามของฉันคือฉันจะแก้ไขข้อความแสดงข้อผิดพลาดต่อไปนี้ได้อย่างไร EmptyResultDataAccessException: Incorrect result size: expected 1, actual 0 สำหรับฉันแล้วดูเหมือนว่าฉันควรจะคืนค่าว่างแทนที่จะโยนข้อยกเว้น ฉันจะแก้ไขปัญหานี้ได้อย่างไร? ขอบคุณล่วงหน้า.

6
JdbcTemplate queryForInt / Long เลิกใช้แล้วใน Spring 3.2.2 ควรแทนที่ด้วยอะไร
เมธอด queryforInt / queryforLong ใน JdbcTemplate เลิกใช้แล้วใน Spring 3.2 ฉันไม่สามารถหาสาเหตุหรือสิ่งที่ถือเป็นแนวทางปฏิบัติที่ดีที่สุดในการแทนที่โค้ดที่มีอยู่โดยใช้วิธีการเหล่านี้ วิธีการทั่วไป: int rowCount = jscoreJdbcTemplate.queryForInt( "SELECT count(*) FROM _player WHERE nameKey = ? AND teamClub = ?", playerNameKey.toUpperCase(), teamNameKey.toUpperCase() ); ตกลงวิธีการข้างต้นจะต้องเขียนใหม่ดังนี้: Object[] params = new Object[] { playerNameKey.toUpperCase(), teamNameKey.toUpperCase() }; int rowCount = jscoreJdbcTemplate.queryForObject( "SELECT count(*) FROM _player WHERE nameKey …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.