วิธีเชื่อมต่อกับฐานข้อมูลใน Java - การสอน JDBC



บทความนี้จะบอกวิธีเชื่อมต่อฐานข้อมูล MySQL ใน Java JDBC เป็นหนึ่งใน Java API มาตรฐานสำหรับการเชื่อมต่อที่ไม่ขึ้นกับฐานข้อมูลระหว่าง Java และฐานข้อมูลที่หลากหลาย

ซึ่งเป็นหนึ่งในภาษาโปรแกรมที่โดดเด่นที่สุดให้การสนับสนุนฐานข้อมูลอย่างกว้างขวาง ช่วยให้เราสามารถเชื่อมต่อกับฐานข้อมูลต่างๆผ่าน (การเชื่อมต่อฐานข้อมูล Java) ในบทความนี้ฉันจะบอกวิธีเชื่อมต่อกับฐานข้อมูลและดำเนินการสืบค้นโดยใช้ JDBC

หัวข้อด้านล่างนี้กล่าวถึงในบทความนี้:





รู้เบื้องต้นเกี่ยวกับ JDBC

JDBC เป็นหนึ่งใน Java API มาตรฐานสำหรับการเชื่อมต่อที่ไม่ขึ้นกับฐานข้อมูลระหว่างไฟล์ และฐานข้อมูลที่หลากหลายAPI นี้ช่วยให้คุณเข้ารหัสข้อความร้องขอการเข้าถึงในรูปแบบ ภาษาแบบสอบถามที่มีโครงสร้าง (SQL). นี้ส่วนใหญ่เกี่ยวข้องกับการเปิดการเชื่อมต่อการสร้างฐานข้อมูล SQL ดำเนินการสืบค้น SQL จากนั้นมาถึงเอาต์พุต

JDBC API สามารถใช้เพื่อเข้าถึงข้อมูลแบบตารางที่จัดเก็บในฐานข้อมูลเชิงสัมพันธ์ใด ๆ ด้วยวิธีนี้คุณสามารถอัปเดตบันทึกดึงข้อมูลและลบข้อมูลจากฐานข้อมูล คล้ายกับ Open Database Connectivity (ODBC) ที่จัดทำโดย Microsoft



เพื่อความเข้าใจที่ดีขึ้นเกี่ยวกับการทำงานของ JDBC มาเจาะลึกในหัวข้อนี้และทำความเข้าใจสถาปัตยกรรมที่อยู่เบื้องหลังการเชื่อมต่อฐานข้อมูล Java

คอมโพเนนต์ JDBC ทั่วไป

JDBC API จัดเตรียมอินเทอร์เฟซและคลาส & ลบดังต่อไปนี้

  • DriverManager: ส่วนใหญ่จะใช้ในการจัดการรายการไดรเวอร์ฐานข้อมูล โปรแกรมควบคุมที่รู้จักโปรโตคอลย่อยบางอย่างจะถูกใช้เพื่อสร้างการเชื่อมต่อฐานข้อมูล



  • คนขับ เป็นอินเทอร์เฟซที่จัดการการสื่อสารกับเซิร์ฟเวอร์ฐานข้อมูล นอกจากนี้ยังสรุปรายละเอียดที่เกี่ยวข้องขณะทำงานกับวัตถุไดรเวอร์

  • การเชื่อมต่อ เป็นอินเทอร์เฟซที่ประกอบด้วยวิธีการทั้งหมดที่จำเป็นในการเชื่อมต่อกับฐานข้อมูล วัตถุเชื่อมต่อเกี่ยวข้องกับฟังก์ชันการสื่อสารของฐานข้อมูล บริบท.

    tostring ทำงานอย่างไรใน java

ตอนนี้เรามาดูหัวข้อถัดไปและดูขั้นตอนที่จำเป็นในการสร้างแอปพลิเคชัน JDBC

ขั้นตอนในการสร้าง JDBC Application

ในการสร้างแอปพลิเคชัน JDBC คุณต้องทำตามขั้นตอนเล็กน้อย มาดูกันว่ามีอะไรบ้าง

ขั้นตอนในการสร้าง JDBC Application - Advanced Java tutorial - Edureka

  1. นำเข้าแพ็คเกจ: คุณต้องรวมแพ็คเกจทั้งหมดที่มีคลาส JDBC ที่จำเป็นสำหรับ การเขียนโปรแกรมฐานข้อมูล . บ่อยที่สุดโดยใช้ นำเข้า java.sql. * จะพอเพียง

  2. ลงทะเบียนไดรเวอร์ JDBC: ที่นี่คุณต้องเริ่มต้นไดรเวอร์เพื่อให้คุณสามารถเปิดช่องทางการสื่อสารกับฐานข้อมูลได้

  3. เปิดการเชื่อมต่อ: ที่นี่คุณสามารถใช้ไฟล์ getConnection () วิธีการสร้างวัตถุการเชื่อมต่อซึ่งแสดงถึงการเชื่อมต่อทางกายภาพกับฐานข้อมูล

  4. ดำเนินการค้นหา: สิ่งนี้จำเป็นต้องใช้วัตถุประเภท Statement เพื่อสร้างและส่งคำสั่ง SQL ไปยังฐานข้อมูล

  5. ดึงข้อมูลจากชุดผลลัพธ์: ขอแนะนำให้คุณใช้ที่เหมาะสม getXXX () วิธีการดึงข้อมูลจากชุดผลลัพธ์

  6. ทำความสะอาดสิ่งแวดล้อม: ที่นี่จำเป็นอย่างยิ่งที่จะต้องปิดทรัพยากรฐานข้อมูลทั้งหมดอย่างชัดเจนเมื่อเทียบกับการรวบรวมขยะของ JVM

เมื่อคุณได้เห็นขั้นตอนต่างๆที่เกี่ยวข้องในการสร้างแอปพลิเคชัน JDBC แล้วเรามาดูโค้ดตัวอย่างในการสร้างฐานข้อมูลและสร้างการเชื่อมต่อ

package Edureka import java.sql. * import java.sql.DriverManager คลาสสาธารณะตัวอย่าง {// ชื่อไดรเวอร์ JDBC และ URL ฐานข้อมูลสแตติกสุดท้ายสตริง JDBC_DRIVER = 'com.mysql.jdbc.Driver' สตริงสุดท้ายคง DB_URL = 'jdbc: mysql: // localhost / emp '// ข้อมูลประจำตัวฐานข้อมูล static final String USER =' root 'static final String PASS =' 'public static void main (String [] args) {Connection conn = null Statement stmt = null try {// STEP 2 : ลงทะเบียนไดรเวอร์ JDBC Class.forName ('com.mysql.cj.jdbc.Driver') // ขั้นตอนที่ 3: เปิดการเชื่อมต่อ System.out.println ('กำลังเชื่อมต่อกับฐานข้อมูล ... ') conn = DriverManager.getConnection (DB_URL , 'root', '') // ขั้นตอนที่ 4: ดำเนินการสืบค้น System.out.println ('กำลังสร้างคำสั่ง ... ') stmt = conn.createStatement () String sql sql = 'SELECT id, first, last, age จาก ResultSet ของพนักงาน rs = stmt.executeQuery (sql) // ขั้นตอนที่ 5: ดึงข้อมูลจากชุดผลลัพธ์ในขณะที่ (rs.next ()) {// ดึงข้อมูลตามชื่อคอลัมน์ int id = rs.getInt ('id') int age = rs.getInt ('age') String first = rs.getString ('first') สตริง last = rs.getString ('last') // แสดงค่า System.out.print ('ID:' + id) System.out.print (', Age:' + age) System.out.print (', First : '+ first) System.out.println (', Last: '+ last)} // ขั้นตอนที่ 6: สภาพแวดล้อมการล้าง rs.close () stmt.close () conn.close ()} จับ (SQLException se) {// จัดการข้อผิดพลาดสำหรับ JDBC se.printStackTrace ()} catch (Exception e) {// จัดการข้อผิดพลาดสำหรับ Class.forName e.printStackTrace ()} ในที่สุด {// บล็อกที่ใช้เพื่อปิดทรัพยากรในที่สุดลอง {if (stmt! = null) stmt.close ()} catch (SQLException se2) {} // ไม่สามารถทำได้ลอง {if (conn! = null) conn.close ()} catch (SQLException se) {se.printStackTrace ()} // สุดท้ายลอง} // end try System.out.println ('Goodbye!')} // end main} // end ตัวอย่าง

โค้ดด้านบนสร้างตารางในฐานข้อมูล localhost ของคุณ ในการแทรกค่าในฐานข้อมูลที่สร้างขึ้นคุณสามารถอ้างถึงรหัสด้านล่าง ฉันจะเขียนโค้ดเฉพาะสำหรับขั้นตอนที่ 4 ส่วนที่เหลือของโค้ดยังคงเหมือนเดิม

// ขั้นตอนที่ 4: ดำเนินการสืบค้น System.out.println ('การสร้างตารางในฐานข้อมูลที่กำหนด ... ') stmt = conn.createStatement () String sql = 'CREATE TABLE EMPLOYEES' + '(id INTEGER ไม่ใช่ NULL,' + 'VARCHAR แรก (255),' + 'VARCHAR สุดท้าย (255),' + 'อายุ INTEGER,' + 'PRIMARY KEY (id))' stmt.executeUpdate (sql) System.out.println ('สร้างตารางในฐานข้อมูลที่กำหนด ... ') System.out.println (' การแทรกระเบียนลงในตาราง ... ') stmt = conn.createStatement () String sql =' INSERT INTO Employee VALUES (100, 'Kriss', 'Kurian', 18) 'stmt.executeUpdate (sql) sql =' INSERT INTO Employee VALUES (101, 'Enrique', 'John', 25) 'stmt.executeUpdate (sql) sql =' INSERT INTO พนักงาน (102, 'Taylor', 'Swift' , 30) 'stmt.executeUpdate (sql) sql =' INSERT INTO Employee VALUES (103, 'Linkin', 'Park', 28) 'stmt.executeUpdate (sql) System.out.println (' แทรกระเบียนลงในตาราง .. ')

นี่คือวิธีที่คุณสามารถสร้างการเชื่อมต่อกับฐานข้อมูลและแทรกค่าในตาราง ตอนนี้เรามาทำความเข้าใจกับไดรเวอร์ JDBC ประเภทต่างๆกันดีกว่า

ประเภทไดรเวอร์ JDBC

ไดรเวอร์ JDBC ใช้เพื่อใช้อินเทอร์เฟซที่กำหนดไว้ใน JDBC API สำหรับการโต้ตอบกับเซิร์ฟเวอร์ฐานข้อมูลโดยพื้นฐานแล้วก ไดรเวอร์ JDBC ทำสามสิ่งและมีดังนี้:
1. สร้างการเชื่อมต่อกับแหล่งข้อมูล
2. จะส่งแบบสอบถามและปรับปรุงคำสั่งไปยังแหล่งข้อมูล
3. สุดท้ายก็ประมวลผล

ตัวอย่างเช่นไดรเวอร์ JDBC ช่วยให้คุณเปิดการเชื่อมต่อฐานข้อมูลเพื่อโต้ตอบด้วยการส่ง . หากคุณต้องการทราบข้อมูลเพิ่มเติมเกี่ยวกับประเภทของไดรเวอร์ JDBC คุณสามารถอ้างอิงบทความนี้ได้ที่ .

ตอนนี้เรามาทำความเข้าใจกับ JDBC Connections กันดีกว่า

การเชื่อมต่อ JDBC

  • นำเข้าแพ็คเกจ JDBC: เพิ่ม นำเข้า งบถึงคุณ เพื่ออิมพอร์ตคลาสที่ต้องการในโค้ด Java ของคุณ

  • ลงทะเบียนไดรเวอร์ JDBC: ใน t ก้าวของเขา เพื่อโหลดการใช้งานไดรเวอร์ที่ต้องการลงในหน่วยความจำเพื่อให้สามารถตอบสนองคำขอ JDBC ได้ มี 2 ​​วิธีในการลงทะเบียนไดรเวอร์

    • แนวทางที่เหมาะสมที่สุดในการลงทะเบียนไดรเวอร์คือการใช้ Java’s forName () วิธีการโหลดไฟล์คลาสของไดรเวอร์ลงในหน่วยความจำแบบไดนามิก ซึ่งจะลงทะเบียนโดยอัตโนมัติ วิธีนี้เหมาะเพราะช่วยให้คุณสามารถกำหนดค่าการลงทะเบียนไดรเวอร์และพกพาได้ ดูรหัสด้านล่าง:

      ลองใช้ {Class.forName ('oracle.jdbc.driver.OracleDriver')} catch (ClassNotFoundException ex) System.out.println ('Error: cannot load driver class!') System.exit (1)}
    • แนวทางที่สองที่คุณสามารถใช้ในการลงทะเบียนไดรเวอร์คือการใช้แบบคงที่ registerDriver () วิธี.

      ลองใช้ {Driver myDriver = new oracle.jdbc.driver.OracleDriver () DriverManager.registerDriver (myDriver)} จับ (ClassNotFoundException ex) {System.out.println ('ข้อผิดพลาด: ไม่สามารถโหลดคลาสไดรเวอร์!') System.exit (1 )}
  • คุณควรใช้ไฟล์ registerDriver () วิธีการหากคุณใช้ JVM ที่ไม่สอดคล้องกับ JDK เช่นที่ Microsoft จัดเตรียมไว้ให้ แต่ละแบบฟอร์มต้องใช้ฐานข้อมูล URL .

  • การกำหนด URL ฐานข้อมูล: การจัดรูปแบบ URL เป็นสิ่งจำเป็นในการสร้างที่อยู่ที่มีรูปแบบถูกต้องซึ่งชี้ไปยังฐานข้อมูลที่คุณต้องการเชื่อมต่อ เมื่อคุณโหลดไดรเวอร์แล้วคุณสามารถสร้างการเชื่อมต่อโดยใช้ไฟล์ DriverManager.getConnection () วิธี. DriverManager.getConnection () วิธีการคือ & ลบ

    java system.exit (1)
    • getConnection (สตริง url)

    • getConnection (String url, Properties prop)

    • getConnection (สตริง url, ผู้ใช้สตริง, รหัสผ่านสตริง)

  • สร้างวัตถุการเชื่อมต่อ

คุณสามารถสร้างการเชื่อมต่อโดยใช้ URL ฐานข้อมูลชื่อผู้ใช้และรหัสผ่านและใช้ออบเจ็กต์คุณสมบัติ

  • ปิด

สุดท้ายเพื่อสิ้นสุดเซสชันฐานข้อมูลคุณต้องปิดการเชื่อมต่อฐานข้อมูลทั้งหมด อย่างไรก็ตามหากคุณลืมตัวเก็บขยะของ Java จะปิดการเชื่อมต่อเมื่อทำความสะอาดวัตถุเก่า

conn.close () // ใช้เพื่อปิดการเชื่อมต่อ

นั่นคือทั้งหมดที่เกี่ยวกับ Java Database Connectivity หากคุณต้องการทราบข้อมูลเพิ่มเติมเกี่ยวกับ JDBC คุณสามารถอ้างอิงบทความนี้ได้ที่ . เรามาถึงตอนท้ายของบทความเกี่ยวกับ 'วิธีเชื่อมต่อกับฐานข้อมูล' ฉันหวังว่าฉันจะช่วยให้ความรู้ของคุณเกี่ยวกับ JDBC

ตรวจสอบไฟล์ โดย Edureka บริษัท การเรียนรู้ออนไลน์ที่เชื่อถือได้ซึ่งมีเครือข่ายผู้เรียนที่พึงพอใจมากกว่า 250,000 คนกระจายอยู่ทั่วโลก เราพร้อมที่จะช่วยเหลือคุณในทุกขั้นตอนในการเดินทางของคุณสำหรับการเป็นนอกเหนือจากคำถามสัมภาษณ์ java นี้เรามาพร้อมกับหลักสูตรที่ออกแบบมาสำหรับนักเรียนและมืออาชีพที่ต้องการเป็น Java Developer

มีคำถามสำหรับเรา? โปรดระบุไว้ในส่วนความคิดเห็นของบทความ 'วิธีเชื่อมต่อกับฐานข้อมูล' และเราจะติดต่อกลับโดยเร็วที่สุด