ก่อนอื่นคุณต้องนำเข้าแพ็คเกจ JDBC JAR;
ถัดไปรหัส:
class.forName (xxx.xx.xx) ส่งคืนคลาส
ฟังก์ชั่นของ class.forName (xxx.xx.xx) คือการกำหนดให้ JVM ต้องค้นหาและโหลดคลาสที่ระบุนั่นคือ JVM จะเรียกใช้ส่วนรหัสคงที่ของคลาส
ฐานข้อมูลการเชื่อมต่อ JDBC
•สร้างโปรแกรมที่เชื่อมต่อกับฐานข้อมูลด้วย JDBC ซึ่งมี 7 ขั้นตอน:
1. โหลดไดรเวอร์ JDBC:
ก่อนที่จะเชื่อมต่อกับฐานข้อมูลคุณต้องโหลดไดรเวอร์ของฐานข้อมูลที่คุณต้องการเชื่อมต่อกับ JVM (Java Virtual Machine) ก่อน
นี่คือความสำเร็จผ่านวิธีการสแตติก (ชื่อคลาสสตริง) ของคลาส java.lang.class
ตัวอย่างเช่น:
ลอง {// โหลดคลาสไดร์เวอร์คลาสของ MySQL FORNAME ("com.mysql.jdbc.driver"); // คำอธิบาย: เกี่ยวกับเมธอด forname ของคลาสคลาส // โหลดคลาสในคลาสคลาสลงในพื้นที่หน่วยความจำผ่านวิธีนี้/* วิธีการ forname ของคลาสคลาสดังต่อไปนี้: @callersensitive public class <?> forname (string classname) โยน classnotFoundException {class < incom.mysql.jdbc.driver "ถูกส่งไป JVM จะไปที่ com.mysql.jdbc ของแพ็คเกจ Jar ไดรเวอร์และใช้ตัวโหลดคลาสของผู้โทรเพื่อเรียกคลาสไดรเวอร์ (คลาสไดรเวอร์ใน com.mysql.jdbc com.mysql.jdbc.nonregisteringDriver ใช้ java.sql.driver {} สามารถเห็นได้ว่าคลาสนี้สืบทอดอินเตอร์เฟส java.sql.driver ดังนั้นจึงสามารถเรียกใช้การรวมกันของโหมดโรงงาน การโหลดมันจะส่งคืนข้อยกเว้น // forname0 (className, true, classloader.getClassLoader (ผู้โทร), ผู้โทร); // classloader.getClassLoader (ผู้โทร) ใช้คลาสโหลดเดอร์ของคลาสที่เรียกวิธีนี้เพื่อเรียกคลาสที่สอดคล้องกับอินเตอร์เฟสไดรเวอร์} */} catch (classnotFoundException e) {system.out.println ("คลาสไดรเวอร์ไม่สามารถพบการโหลดไดรเวอร์ล้มเหลว!"); E.PrintStackTrace ();}หลังจากการโหลดสำเร็จอินสแตนซ์ของคลาสไดรเวอร์จะลงทะเบียนในคลาส DriverManager DriverManager.getConnection (URL, ชื่อผู้ใช้, รหัสผ่าน) จะมีการหารือในภายหลัง
2. ให้ URL สำหรับการเชื่อมต่อ JDBC
URL การเชื่อมต่อจะกำหนดโปรโตคอลโปรโตคอลย่อยและตัวระบุแหล่งข้อมูลเมื่อเชื่อมต่อกับฐานข้อมูล
รูปแบบการเขียน: โปรโตคอล: โปรโตคอลย่อย: การระบุแหล่งข้อมูล
โปรโตคอล: ใน JDBC เริ่มต้นด้วย JDBC เสมอ
Subprotocol: ชื่อไดรเวอร์ที่เชื่อมต่อกับสะพานหรือชื่อระบบการจัดการฐานข้อมูล
การระบุแหล่งข้อมูล: แท็กที่อยู่และพอร์ตการเชื่อมต่อที่พบแหล่งข้อมูลฐานข้อมูล
ตัวอย่างเช่น: (URL การเชื่อมต่อของ MySQL): JDBC: mysql: // localhost: 3306/การทดสอบ
เส้นทางเต็มคือ jdbc: mysql: // localhost: 3306/test? useunicode = true & characterencoding = gbk;
useunicode = true: ระบุว่าจะใช้ชุดอักขระ Unicode หรือไม่ หากการตั้งค่าตัวละครถูกตั้งค่าเป็น GB2312 หรือ GBK พารามิเตอร์นี้จะต้องตั้งค่าเป็น TRUE
ตัวละคร = GBK: วิธีการเข้ารหัสอักขระ
3. สร้างการเชื่อมต่อฐานข้อมูล
•ในการเชื่อมต่อกับฐานข้อมูลคุณต้องขอจาก java.sql.driverManager และรับวัตถุการเชื่อมต่อ
วัตถุนี้แสดงถึงการเชื่อมต่อกับฐานข้อมูล
•ใช้ getConnectin ของ DriverManager (url สตริง, ชื่อผู้ใช้สตริง,
เมธอดสตริง) เมธอดส่งผ่านพา ธ ที่ระบุชื่อผู้ใช้ฐานข้อมูลและรหัสผ่านของฐานข้อมูลที่จะเชื่อมต่อเพื่อรับ
ตัวอย่างเช่น:
// เชื่อมต่อฐานข้อมูล MySQL ชื่อผู้ใช้และรหัสผ่านคือรูทสตริง url = "jdbc: mysql: // localhost: 3306/test"; String username = "root"; สตริงรหัสผ่าน = "รูท"; ลอง {Connection con = driverManager.getConnection (URL, ชื่อผู้ใช้, รหัสผ่าน); } catch (sqlexception se) {system.out.println ("การเชื่อมต่อฐานข้อมูลล้มเหลว!"); se.printstacktrace (); -4. สร้างคำสั่ง
•ในการเรียกใช้คำสั่ง SQL คุณต้องได้รับอินสแตนซ์ java.sql.Statement อินสแตนซ์คำสั่งแบ่งออกเป็น 3 ประเภทต่อไปนี้:
1. เรียกใช้คำสั่ง SQL แบบคงที่ มักจะดำเนินการผ่านอินสแตนซ์คำสั่ง
2. เรียกใช้คำสั่ง SQL แบบไดนามิก มักจะดำเนินการผ่านอินสแตนซ์ที่เตรียมไว้
3. ดำเนินการตามขั้นตอนการจัดเก็บฐานข้อมูล มักจะดำเนินการผ่านอินสแตนซ์ callablestatement
วิธีการใช้งานเฉพาะ:
คำสั่ง stmt = con.createstatement (); PreparedStatement PSTMT = Con.prepareStatement (SQL); callablestatement cstmt = con.preprepall ("{โทร 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 ()) {ชื่อสตริง = rs.getString ("ชื่อ"); String pass = rs.getString (1); // วิธีนี้มีประสิทธิภาพมากขึ้น}(คอลัมน์มีหมายเลขจากซ้ายไปขวาและเริ่มจากคอลัมน์ 1)
7. ปิดวัตถุ JDBC
หลังจากการดำเนินการเสร็จสิ้นวัตถุ JDBC ที่ใช้ทั้งหมดจะต้องปิดเพื่อปล่อยทรัพยากร JDBC คำสั่งของการปิดและการประกาศกลับด้าน:
1. ปิดชุดบันทึก
2. คำสั่งปิด
3. ปิดวัตถุการเชื่อมต่อ
if (rs! = null) {// ปิดชุดระเบียนลอง {rs.close (); } catch (sqlexception e) {e.printstacktrace (); }} if (stmt! = null) {// ปิดการประกาศลอง {stmt.close (); } catch (sqlexception e) {e.printstacktrace (); }} if (conn! = null) {// ปิดวัตถุการเชื่อมต่อลอง {conn.close (); } catch (sqlexception e) {e.printstacktrace (); -ข้างต้นเป็นคำอธิบายโดยละเอียดของกระบวนการเชื่อมต่อฐานข้อมูล JDBC การโหลดไดรเวอร์และรูปแบบการออกแบบที่แนะนำโดยตัวแก้ไข ฉันหวังว่ามันจะเป็นประโยชน์กับทุกคน หากคุณมีคำถามใด ๆ โปรดฝากข้อความถึงฉันและบรรณาธิการจะตอบกลับทุกคนในเวลา ขอบคุณมากสำหรับการสนับสนุนเว็บไซต์ Wulin.com!