บทความนี้อธิบายวิธีการเชื่อมต่อกับฐานข้อมูลตาม JDBC ในการพัฒนา Java แบ่งปันสำหรับการอ้างอิงของคุณดังนี้:
สร้างโปรแกรมที่เชื่อมต่อกับฐานข้อมูลด้วย JDBC ซึ่งมี 7 ขั้นตอน:
1. โหลดไดรเวอร์ JDBC:
ก่อนที่จะเชื่อมต่อกับฐานข้อมูลคุณต้องโหลดไดรเวอร์ของฐานข้อมูลที่คุณต้องการเชื่อมต่อกับ JVM (Java Virtual Machine) ซึ่งจะถูกนำไปใช้ผ่านวิธีการทำงานแบบคงที่
ตัวอย่างเช่น:
ลอง {// โหลดคลาสไดร์เวอร์คลาสของ MySQL คลาส ForName ("com.mysql.jdbc.driver");} catch (classnotfoundexception e) {system.out.println ("คลาสไดรเวอร์ไม่สามารถพบได้ ); e.printstacktrace ();}หลังจากการโหลดสำเร็จอินสแตนซ์ของคลาสไดรเวอร์จะลงทะเบียนในคลาส DriverManager
2. ให้ URL สำหรับการเชื่อมต่อ JDBC
URL การเชื่อมต่อจะกำหนดโปรโตคอลโปรโตคอลย่อยและตัวระบุแหล่งข้อมูลเมื่อเชื่อมต่อกับฐานข้อมูล
แบบฟอร์มการเขียน: โปรโตคอล: โปรโตคอลย่อย: โปรโตคอลการระบุแหล่งข้อมูล: ใน JDBC เริ่มต้นด้วย JDBC เสมอ
การระบุแหล่งข้อมูล: แท็กที่อยู่และพอร์ตการเชื่อมต่อที่พบแหล่งข้อมูลฐานข้อมูล
ตัวอย่างเช่น: (URL การเชื่อมต่อของ MySQL)
JDBC: MySQL:
// localhost: 3306/test? useunicode = true & characterencoding = gbk;
useunicode = true: หมายถึงการใช้ชุดอักขระ Unicode หากการตั้งค่าตัวละครถูกตั้งค่าเป็น
GB2312 หรือ GBK พารามิเตอร์นี้จะต้องตั้งค่าเป็น TRUE ตัวละคร = GBK: วิธีการเข้ารหัสอักขระ
3. สร้างการเชื่อมต่อฐานข้อมูล
ในการเชื่อมต่อกับฐานข้อมูลคุณต้องขอ java.sql.DriverManager และรับวัตถุการเชื่อมต่อซึ่งแสดงถึงการเชื่อมต่อกับฐานข้อมูล
ใช้ getConnectin (string url ของ DriverManager, ชื่อผู้ใช้สตริง, รหัสผ่านสตริง) เพื่อส่งผ่านในพา ธ ฐานข้อมูลที่ระบุชื่อผู้ใช้ฐานข้อมูลและรหัสผ่านเพื่อเชื่อมต่อเพื่อรับ
ตัวอย่างเช่น:
// เชื่อมต่อฐานข้อมูล MySQL ชื่อผู้ใช้และรหัสผ่านคือ RootString url = "JDBC: mySQL: // localHost: 3306/test"; string username = "root"; string password = "root"; ลอง {connecti on con = drivermanager .getConnection (URL, ชื่อผู้ใช้, รหัสผ่าน);} catch (sqlexception se) {system.out.println ("การเชื่อมต่อฐานข้อมูลล้มเหลว!"); se.printstacktrace ();}4. สร้างคำสั่ง
ในการเรียกใช้คำสั่ง SQL คุณจะต้องได้รับอินสแตนซ์ java.sql.Statement
พิมพ์:
1. เรียกใช้คำสั่ง SQL แบบคงที่ มักจะดำเนินการผ่านอินสแตนซ์คำสั่ง
2. เรียกใช้คำสั่ง SQL แบบไดนามิก มักจะดำเนินการผ่านอินสแตนซ์ที่เตรียมไว้
3. ดำเนินการตามขั้นตอนการจัดเก็บฐานข้อมูล มักจะดำเนินการผ่านอินสแตนซ์ callablestatement
วิธีการใช้งานเฉพาะ:
คำสั่ง stmt = con.createstatement (); PreparedStatement pstmt = con.prepareStatement (SQL); callablestatement cstmt = con.preparecall ("{โทร demosp (?,?)}");5. เรียกใช้คำสั่ง SQL
อินเทอร์เฟซคำสั่งมีสามวิธีในการเรียกใช้คำสั่ง SQL: ExecuteQuery, ExecuteUpdate และ Execute
1. ResultSet ExecuteQuery (String SQLString): เรียกใช้คำสั่ง SQL เพื่อสอบถามฐานข้อมูลและส่งคืนวัตถุชุดผลลัพธ์ (ผลลัพธ์)
2. int executeUpdate (String SQLString): ใช้เพื่อดำเนินการแทรกอัปเดตหรือลบคำสั่งและคำสั่ง SQL DDL เช่น: สร้างตารางและตารางดร็อป ฯลฯ
3. ดำเนินการ (SQLString): ใช้เพื่อเรียกใช้คำสั่งที่ส่งคืนชุดผลลัพธ์หลายชุดนับการอัพเดทหลายครั้งหรือการรวมกันของทั้งสองอย่าง
รหัสการใช้งานเฉพาะ:
Resultset RS = stmt.executeQuery ("เลือก * จาก ... "); int rows = stmt.executeUpdate ("แทรกเข้าไปใน ... "); ธงบูลีน = stmt.execute (สตริง SQL);6. ผลการประมวลผล
สองสถานการณ์:
1. การดำเนินการอัปเดตส่งคืนจำนวนระเบียนที่ได้รับผลกระทบจากการดำเนินการนี้
2. ผลลัพธ์ที่ส่งคืนโดยการดำเนินการแบบสอบถามเป็นวัตถุชุดผลลัพธ์
ชุดผลลัพธ์มีแถวทั้งหมดที่ตรงตามเงื่อนไขในคำสั่ง SQL และให้การเข้าถึงข้อมูลในแถวเหล่านี้ผ่านชุดของวิธีการรับ
ใช้วิธีการเข้าถึงของวัตถุชุดผลลัพธ์ (ผลลัพธ์) เพื่อรับข้อมูล:
ในขณะที่ (rs.next ()) {string name = rs.getString ("ชื่อ");(คอลัมน์มีหมายเลขจากซ้ายไปขวาและเริ่มจากคอลัมน์ 1)
7. ปิดวัตถุ JDBC
หลังจากการดำเนินการเสร็จสิ้นวัตถุ JDBC ที่ใช้ทั้งหมดจะต้องปิดเพื่อปล่อยทรัพยากร JDBC
1. ปิดชุดบันทึก
2. คำสั่งปิด
3. ปิดวัตถุการเชื่อมต่อ
if (rs! = null) {// ปิดชุดระเบียนลอง {rs.close ();} catch (sqlexception e) {e.printstacktrace ();}} ถ้า (stmt! = null) {// ปิดการประกาศ ลอง {stmt.close ();} catch (sqlexception e) {e.printstacktrace ();}} ถ้า (conn! = null) {// ปิดวัตถุการเชื่อมต่อลอง {conn.close (); ) {e .printstacktrace ();}}ภาคผนวก: การเชื่อมต่อ JDBC กับตัวอย่างฐานข้อมูล Oracle
นำเข้า java.sql.connection; นำเข้า java.sql.drivermanager นำเข้า java.sql.resultset; นำเข้า java.sql.sqlexception; นำเข้า Java.sql.statement; {Connection conn = null; Oracle: Thin: @localhost: 1521: OAR92 "; //@localhost เป็นชื่อเซิร์ฟเวอร์, sjzwish เป็นชื่ออินสแตนซ์ฐานข้อมูล conn = drivermanager.getConnection (url," guchao "," jimmy "); // เชื่อมต่อฐานข้อมูล การสร้างบัญชีตาราง A หมายถึงรหัสผ่าน STMT = Conn.Createstatement (); // ส่งคำสั่ง SQL และสร้างวัตถุคำสั่งเพื่อส่งคำสั่ง SQL ไปยังฐานข้อมูล // สอบถามข้อมูลด้วย ExecuteQuery RS = STMT.ExecuteQuery (" เลือก * จาก Ruby "); // ดำเนินการค้นหา (Ruby) เป็นชื่อตารางในขณะที่ (rs.next ()) {// ค้นหาตัวชี้บันทึกปัจจุบันไปยังระเบียนแรกในชุดบันทึก System.out.println ( Rs.getString ("SID") + "" + Rs.getString ("Sname"));} // 1 แสดงถึงค่าของฟิลด์แรกของบันทึกปัจจุบันและสามารถเขียนเป็นชื่อฟิลด์ // 2 แสดงถึงค่าของฟิลด์ที่สองของระเบียนปัจจุบันและสามารถเขียนเป็นชื่อฟิลด์ // ใช้ ExecuteUpdate เพื่อเพิ่มข้อมูล //stmt.executeupdate("insert เป็นค่า SS (7, 'Jackie Chan') "); cheung 'โดยที่ id = 5 "); // ลบข้อมูลด้วย executeUpdate //stmt.executeUpdate("Delete จาก SS โดยที่ id = 6");} catch (sqlexception e) {e.printStackTrace (); e) {e. PrintStackTrace ();}}}}ฉันหวังว่าบทความนี้จะเป็นประโยชน์กับการเขียนโปรแกรม Java ของทุกคน