การดำเนินการฐานข้อมูลเป็นหนึ่งในส่วนการพัฒนาที่ขาดไม่ได้ของการพัฒนาระบบในปัจจุบันโดยเฉพาะอย่างยิ่งในยุคข้อมูลขนาดใหญ่ปัจจุบันฐานข้อมูลมีความสำคัญอย่างยิ่ง แต่คุณเข้าใจจริง ๆ ว่าการเชื่อมต่อ Java และฐานข้อมูลนั้นเชื่อมโยงกันอย่างไร?
ก่อนอื่นให้ฉันยกตัวอย่างง่ายๆของการเชื่อมต่อฐานข้อมูล:
แพ็คเกจ com.java.dbtest; นำเข้า java.sql.connection; นำเข้า java.sql.drivermanager; นำเข้า java.sql.preparedStatement; นำเข้า java.sql.resultset; นำเข้า java.sql.sqlexception; การทดสอบคลาสสาธารณะใช้ DBTEST {โมฆะสาธารณะ SelectUser () {// ตั้งค่าไดรเวอร์ฐานข้อมูลที่อยู่การเชื่อมต่อฐานข้อมูลพอร์ตชื่อชื่อผู้ใช้รหัสผ่านสตริง drivername = "oracle.jdbc.driver.oracledriver"; string url = "jdbc: Oracle: Thin: @localhost: 1521: BJPowerNode"; // ทดสอบเป็นชื่อฐานข้อมูล 1521 เป็นพอร์ตเริ่มต้นสำหรับการเชื่อมต่อกับผู้ใช้สตริงฐานข้อมูล = "ระบบ"; // AA เป็นรหัสผ่านชื่อผู้ใช้รหัสผ่าน = "BJPowerNode"; // 123 เป็นรหัสผ่านที่เตรียมไว้ PSTMT = NULL; ผลลัพธ์ RS = NULL; // การเชื่อมต่อวัตถุฐานข้อมูลการเชื่อมต่อวัตถุ conn = null; ลอง {// สะท้อนคลาส Driver Driver Oracle Driver Class.forName (DriverName); // รับการเชื่อมต่อฐานข้อมูล Conn = driverManager.getConnection (URL, ผู้ใช้, รหัสผ่าน); // การเชื่อมต่อฐานข้อมูลเอาต์พุต System.out.println (Conn); // ปรับแต่งสตริงคำสั่ง sql sql = "เลือก * จาก t_user โดยที่ user_id =?"; // สร้างวัตถุ PreparedStatement ภายใต้การเชื่อมต่อนี้ pstmt = conn.preparestatement (SQL); // ผ่านรูทค่าพารามิเตอร์แรกแทนที่จะเป็นเครื่องหมายคำถามแรก pstmt.setstring (1, "root"); // เรียกใช้คำสั่ง Query และบันทึกข้อมูลไปยัง Object Object RSET RS = PSTMT.ExecuteQuery (); // ย้ายตัวชี้ไปยังบรรทัดถัดไปเพื่อตรวจสอบว่ามีข้อมูลใน RS ถ้า (Rs.Next ()) {// ผลลัพธ์การสืบค้นเอาต์พุต System.out.println ("คำถามชื่อ [" + rs.getString ("user_id") + "รหัสผ่านคือ:" + rs.getString ("รหัสผ่าน")); } else {// ผลลัพธ์การสืบค้นเอาต์พุต System.out.println ("ไม่พบข้อมูลที่มีชื่อผู้ใช้ [" + rs.getString ("user_id") + "] ไม่พบ"); }} catch (classnotFoundException e) {e.printStackTrace (); } catch (sqlexception e) {e.printstacktrace (); } ในที่สุด {ลอง {ถ้า (rs! = null) {rs.close (); } if (pstmt! = null) {pstmt.close (); } if (conn! = null) {conn.close (); }} catch (sqlexception e) {e.printstacktrace (); }}} โมฆะคงที่สาธารณะหลัก (สตริง [] args) {testConnection ใหม่ (). selectUser (); -ในฟังก์ชั่นหลักคลิกขวาและเลือก "เรียกใช้เป็น" => "แอปพลิเคชัน Java" และบล็อกโปรแกรมจะเรียกใช้ ในคอนโซลคุณสามารถเห็นผลการทำงาน หากคุณให้สตริงคล้ายกับ "oracle.jdbc.driver.t4cconnection@7c242f04" หมายความว่าคุณเชื่อมต่อสำเร็จแล้ว ผลการดำเนินการแสดงในรูป:
มาผ่าขั้นตอนนี้สั้น ๆ
โปรแกรมนี้เป็นตัวอย่างของ Java ที่เชื่อมต่อกับฐานข้อมูล Oracle มันใช้ JDBC เพื่อดำเนินการเชื่อมต่อกับฐานข้อมูลให้เสร็จสมบูรณ์ดังนั้นจึงจำเป็นต้องแนะนำ OJDBC14.JAR ก่อนการดำเนินการคุณต้องได้รับวัตถุของคลาสไดรเวอร์ฐานข้อมูลก่อนและรับวัตถุการเชื่อมต่อฐานข้อมูลผ่านวัตถุไดรเวอร์
class.forname (drivername) ใช้ในการโหลดไดรเวอร์โดยใช้กลไกการสะท้อนของคลาส คลาส DriverManager เป็นเลเยอร์การจัดการของ JDBC ซึ่งทำหน้าที่ระหว่างผู้ใช้และไดรเวอร์ มันติดตามไดรเวอร์ที่มีอยู่และสร้างการเชื่อมต่อระหว่างฐานข้อมูลและไดรเวอร์ที่เกี่ยวข้อง
โดยทั่วไปคุณจะต้องใช้ Method DriverManager.getConnection โดยตรงในชั้นเรียนเพื่อสร้างการเชื่อมต่อกับฐานข้อมูล
คำสั่งอินเทอร์เฟซ PreparedStatement สืบทอดและเป็นคลาสที่ใช้ในการดำเนินการฐานข้อมูล PreparedStatement มีประสิทธิภาพมากกว่าคำสั่งเมื่อเรียกว่าหลายครั้งผู้คนจำนวนมากสนับสนุนการใช้ PreparedStatement แทนคำสั่ง
ในโพสต์บล็อกต่อไปนี้ฉันจะแนะนำจุดนี้ในรายละเอียด "ความเข้าใจเชิงลึกของคำสั่งและ PreparedStatement" PreparedStatement ถือได้ว่าเป็นคลาสคำสั่งใน. NET
อินเทอร์เฟซ Resultset ปรากฏในหลายภาษาและส่วนใหญ่จะเก็บข้อมูลที่ถูกสืบค้น หลังจากการสืบค้นแต่ละวิธีวิธีถัดไป () มักจะใช้ในภาษา Java เพื่ออ่านข้อมูล