ทำแบบสอบถาม SQL และผลลัพธ์การสืบค้นลงในคอนเทนเนอร์เวกเตอร์สำหรับโปรแกรมอื่น ๆ ที่จะใช้
/** เรียกใช้คำสั่ง Query SQL*/สาธารณะคงที่ <T> เวกเตอร์ <T> ExecuteQuery (คลาส <t> clazz, สตริง SQL, วัตถุ ... args) {การเชื่อมต่อ conn = null; preparedStatement precrepertement = null; resultet rs = null; Vector <t> vecrs = new Vector <t> (); jdbctools.getConnection (); prepectStatement = conn.preparestatement (SQL); // ใช้คำสั่ง SQL เพื่อกำหนดคอลัมน์ที่เลือกสำหรับ (int i = 0; i <args.length; i ++) {preparedStatement.setObject (i+1, args [i]); คลาส // รับนามแฝงของผลลัพธ์ Street Stud_id รับข้อมูลเมตาของ JDBC // รับค่าของแต่ละคอลัมน์ของชุดผลลัพธ์และรวมขั้นตอนก่อนหน้าเพื่อรับคู่คีย์-ค่าคู่ // คีย์: ค่านามแฝงคอลัมน์: ค่าคอลัมน์ // กำหนดค่าให้กับแอตทริบิวต์ Metadata resultsetMetadata rsmd = rs.getMetAdata (); แผนที่ <สตริง, วัตถุ> mapMetadata = hashmap ใหม่ <สตริง, วัตถุ> (); // พิมพ์ชื่อคอลัมน์ของคอลัมน์ในขณะที่ (rs.next ()) {// รับแถวข้อมูลในตารางข้อมูลที่ตรงตามข้อกำหนด i ++) {String columnLabel = rsmd.getColumnLabel (i+1); Object ColumnValue = rs.getObject (columnLabel); // system.out.println (columnLabel); mapMetadata.put (columnLabel, columnValue);} // เริ่มต้นวัตถุ t-type ผ่านการสะท้อนถ้า (mapmetadata.size ()> 0) {obj = clazz.newinstance (); entry.getValue (); // system.out.println (fieldkey + ":" + fieldValue); ReflectionUtils.setfieldValue (OBJ, FieldKey, FieldValue); // กำหนดค่าผ่านการสะท้อน}} // โหลดวัตถุลงใน Vector Vecrs.add (obj);}} catch (Exception e) {E.printstacktrace ();วิธีการที่ใช้เครื่องมือเหมือนเครื่องมือ
รับการเชื่อมต่อฐานข้อมูล jdbctools.getConnection ()
/** รับการเชื่อมต่อกับฐานข้อมูล*/การเชื่อมต่อแบบคงที่สาธารณะ getConnection () พ่นข้อยกเว้น {การเชื่อมต่อ conn = null; ไดรเวอร์สตริง = null; สตริง jdbcurl = null; ชื่อผู้ใช้สตริง = null; รหัสผ่านสตริง = null; jdbctools.class.getclassloader (). getResourceasstream ("jdbc.properties"); properties.load (in); driver = properties.getProperty ("ไดรเวอร์"); jdbcurl = properties.getProperty ("jdbcurl"); Properties.getProperty ("รหัสผ่าน"); class.forName (ไดรเวอร์); conn = drivermanager.getConnection (jdbcurl, ชื่อผู้ใช้, รหัสผ่าน); return conn;}ReflectionUtils.setfieldValue (OBJ, FieldKey, FieldValue);
กำหนดแอตทริบิวต์ FieldKey ของวัตถุ OBJ ให้กับ FieldValue
// ตั้งค่าแอตทริบิวต์ของวัตถุโมฆะสาธารณะคงที่ setFieldValue (Object OBJ, String FieldName, ค่าวัตถุ) {Field Field = GetDeclaredField (OBJ, FieldName); ถ้า (Field == NULL) {โยนใหม่ที่ผิดกฎหมาย ["+obj+"] ");} makeaccessible (ฟิลด์); ลอง {field.set (obj, value);} catch (unlegalaccessexception e) {system.out.println (" ข้อยกเว้นที่ไม่สามารถโยนได้ "); ฟิลด์) {ถ้า (! modifier.ispublic (field.getModifiers ())) {field.setAccessible (จริง);}} // รับแอตทริบิวต์ฟิลด์แอตทริบิวต์อาจสืบทอดสนามสาธารณะแบบคงที่ clazz = clazz.getsuperclass ()) {ลอง {return clazz.getDeclaredField (fieldName);} catch (Exception E) {}} return null;}สรุป
ข้างต้นคือคำอธิบายโดยละเอียดของวิธีการทั่วไปของ Java ที่ดำเนินการคำสั่ง SQL เพื่อใช้การสืบค้น ฉันหวังว่ามันจะเป็นประโยชน์กับทุกคน เพื่อนที่สนใจสามารถอ้างถึงหัวข้ออื่น ๆ ที่เกี่ยวข้องในเว็บไซต์นี้ต่อไป หากมีข้อบกพร่องใด ๆ โปรดฝากข้อความไว้เพื่อชี้ให้เห็น ขอบคุณเพื่อนที่ให้การสนับสนุนเว็บไซต์นี้!