Làm thế nào để kết nối với cơ sở dữ liệu trong Java? - Hướng dẫn JDBC



Bài viết này sẽ cho bạn biết cách kết nối cơ sở dữ liệu MySQL trong Java. JDBC là một trong những API Java tiêu chuẩn để kết nối độc lập với cơ sở dữ liệu giữa Java và nhiều loại cơ sở dữ liệu.

, là một trong những ngôn ngữ lập trình nổi bật nhất, cung cấp hỗ trợ rộng rãi cho cơ sở dữ liệu. Nó giúp chúng tôi kết nối với các cơ sở dữ liệu khác nhau thông qua (Kết nối cơ sở dữ liệu Java). Trong bài viết này, tôi sẽ cho bạn biết cách kết nối với cơ sở dữ liệu và thực thi các truy vấn bằng JDBC.

Các chủ đề dưới đây được đề cập trong bài viết này:





Giới thiệu về JDBC

JDBC là một trong những API Java tiêu chuẩn cho kết nối độc lập với cơ sở dữ liệu giữa và một loạt các cơ sở dữ liệu.API này cho phép bạn mã hóa các câu lệnh yêu cầu truy cập, trong Structured Query Language (SQL). Điều nàychủ yếu liên quan đến việc mở kết nối, tạo Cơ sở dữ liệu SQL, thực thi các truy vấn SQL và sau đó đến đầu ra.

API JDBC có thể được sử dụng để truy cập dữ liệu dạng bảng được lưu trữ trong bất kỳ cơ sở dữ liệu quan hệ nào. Với điều này, bạn có thể cập nhật, lưu, tìm nạp và xóa dữ liệu khỏi cơ sở dữ liệu. Nó tương tự như Kết nối Cơ sở dữ liệu Mở (ODBC) do Microsoft cung cấp.



Để hiểu rõ hơn về hoạt động của JDBC, hãy đi sâu hơn vào chủ đề và hiểu kiến ​​trúc đằng sau Khả năng kết nối cơ sở dữ liệu Java.

Các thành phần JDBC phổ biến

API JDBC cung cấp các giao diện và lớp sau & trừ

  • DriverManager: Điều này chủ yếu được sử dụng để quản lý danh sách các trình điều khiển cơ sở dữ liệu. Trình điều khiển nhận ra một giao thức con nhất định sẽ được sử dụng để thiết lập Kết nối cơ sở dữ liệu.



  • Người lái xe là một giao diện xử lý các giao tiếp với máy chủ cơ sở dữ liệu. Nó cũng tóm tắt các chi tiếtđược liên kết trong khi làm việc với các đối tượng Trình điều khiển.

  • Một kết nối là một giao diện bao gồm tất cả các phương thức cần thiết để kết nối với cơ sở dữ liệu. Đối tượng kết nối xử lý các chức năng giao tiếp của cơ sở dữ liệu. bối cảnh.

    cách đảo ngược một số

Bây giờ chúng ta hãy chuyển sang chủ đề tiếp theo và xem xét các bước cần thiết để tạo Ứng dụng JDBC.

Các bước tạo ứng dụng JDBC

Để tạo Ứng dụng JDBC, bạn cần làm theo một vài bước. Hãy xem chúng là gì.

Các bước tạo Ứng dụng JDBC - Hướng dẫn Java nâng cao - Edureka

  1. Nhập các gói: Bạn cần bao gồm tất cả các gói chứa các lớp JDBC cần thiết cho lập trình cơ sở dữ liệu . Thông thường, sử dụng nhập java.sql. * sẽ đủ.

  2. Đăng ký trình điều khiển JDBC: Ở đây bạn phải khởi tạo một trình điều khiển để có thể mở một kênh giao tiếp với cơ sở dữ liệu.

  3. Mở kết nối: Tại đây, bạn có thể sử dụng getConnection () để tạo đối tượng Connection, đối tượng này đại diện cho một kết nối vật lý với cơ sở dữ liệu.

  4. Thực hiện một truy vấn: Điều này thực sự yêu cầu sử dụng một đối tượng kiểu Statement để xây dựng và gửi một câu lệnh SQL tới cơ sở dữ liệu.

  5. Trích xuất dữ liệu từ tập kết quả: Bạn nên sử dụng getXXX () phương pháp để lấy dữ liệu từ tập kết quả.

  6. Làm sạch môi trường: Ở đây, điều cần thiết làđóng tất cả tài nguyên cơ sở dữ liệu một cách rõ ràng thay vì dựa vào bộ sưu tập rác của JVM.

Bây giờ, như bạn đã thấy các bước khác nhau liên quan để tạo Ứng dụng JDBC, hãy xem mã ví dụ để tạo cơ sở dữ liệu và thiết lập kết nối.

package Edureka import java.sql. * import java.sql.DriverManager public class Ví dụ {// Tên trình điều khiển JDBC và cơ sở dữ liệu URL static final String JDBC_DRIVER = 'com.mysql.jdbc.Driver' static final String DB_URL = 'jdbc: mysql: // localhost / emp '// Thông tin xác thực cơ sở dữ liệu static final String USER =' root 'static final String PASS =' 'public static void main (String [] args) {Connection conn = null Statement stmt = null try {// BƯỚC 2 : Đăng ký trình điều khiển JDBC Class.forName ('com.mysql.cj.jdbc.Driver') // BƯỚC 3: Mở kết nối System.out.println ('Đang kết nối với cơ sở dữ liệu ...') conn = DriverManager.getConnection (DB_URL , 'root', '') // BƯỚC 4: Thực thi truy vấn System.out.println ('Tạo câu lệnh ...') stmt = conn.createStatement () String sql sql = 'SELECT id, first, last, age TỪ KẾT QUẢ CỦA NHÂN VIÊN rs = stmt.executeQuery (sql) // BƯỚC 5: Trích xuất dữ liệu từ tập kết quả while (rs.next ()) {// Lấy theo tên cột int id = rs.getInt ('id') int age = rs.getInt ('tuổi') Chuỗi đầu tiên = rs.getString ('đầu tiên') Chuỗi last = rs.getString ('last') // Hiển thị giá trị System.out.print ('ID:' + id) System.out.print (', Age:' + age) System.out.print (', First : '+ first) System.out.println (', Last: '+ last)} // BƯỚC 6: Làm sạch môi trường rs.close () stmt.close () conn.close ()} catch (SQLException se) {// Xử lý lỗi cho JDBC se.printStackTrace ()} catch (Exception e) {// Xử lý lỗi cho Class.forName e.printStackTrace ()} cuối cùng {// khối cuối cùng dùng để đóng tài nguyên try {if (stmt! = null) stmt.close ()} catch (SQLException se2) {} // không thể làm gì được hãy thử {if (conn! = null) conn.close ()} catch (SQLException se) {se.printStackTrace ()} // end last try} // end try System.out.println ('Goodbye!')} // end main} // end Ví dụ

Đoạn mã trên tạo một bảng trong cơ sở dữ liệu localhost của bạn. Để chèn các giá trị trong cơ sở dữ liệu đã tạo, bạn có thể tham khảo đoạn mã dưới đây. Tôi sẽ chỉ viết mã cho bước 4. Phần còn lại của mã vẫn giống như trên.

// BƯỚC 4: Thực hiện truy vấn System.out.println ('Tạo bảng trong cơ sở dữ liệu đã cho ...') stmt = conn.createStatement () String sql = 'TẠO BẢNG NHÂN VIÊN' + '(id INTEGER not NULL,' + 'VARCHAR đầu tiên (255),' + 'VARCHAR cuối cùng (255),' + 'age INTEGER,' + 'PRIMARY KEY (id))' stmt.executeUpdate (sql) System.out.println ('Đã tạo bảng trong cơ sở dữ liệu nhất định ... ') System.out.println (' Chèn bản ghi vào bảng ... ') stmt = conn.createStatement () String sql =' CHÈN VÀO CÁC GIÁ TRỊ NHÂN VIÊN (100, 'Kriss', 'Kurian', 18) 'stmt.executeUpdate (sql) sql =' CHÈN VÀO GIÁ TRỊ NHÂN VIÊN (101, 'Enrique', 'John', 25) 'stmt.executeUpdate (sql) sql =' CHÈN VÀO NHÂN VIÊN (102, 'Taylor', 'Swift' , 30) 'stmt.executeUpdate (sql) sql =' CHÈN VÀO GIÁ TRỊ Nhân viên (103, 'Linkin', 'Park', 28) 'stmt.executeUpdate (sql) System.out.println (' Đã chèn bản ghi vào bảng. .. ')

Vì vậy, đây là cách bạn có thể thiết lập kết nối với cơ sở dữ liệu và chèn giá trị vào các bảng. Bây giờ chúng ta hãy tiến xa hơn và hiểu các loại trình điều khiển JDBC khác nhau

Các loại trình điều khiển JDBC

Trình điều khiển JDBC được sử dụng để triển khai các giao diện đã xác định trong API JDBC, để tương tác với máy chủ cơ sở dữ liệu.Về cơ bản, một Trình điều khiển JDBC thực hiện ba điều và chúng như sau:
1. Thiết lập kết nối với nguồn dữ liệu.
2. Nó sẽ gửi các truy vấn và cập nhật các câu lệnh tới nguồn dữ liệu.
3. Cuối cùng, nó xử lý kết quả.

Ví dụ: trình điều khiển JDBC giúp bạn mở một kết nối cơ sở dữ liệu để tương tác với nó bằng cách gửi . Nếu bạn muốn biết thêm về các loại JDBC Driver, bạn có thể tham khảo bài viết này trên .

Bây giờ chúng ta hãy tiến xa hơn và hiểu về Kết nối JDBC.

Kết nối JDBC

  • Nhập các gói JDBC: Thêm vào nhập khẩu tuyên bố của bạn để nhập các lớp bắt buộc trong mã Java của bạn.

  • Đăng ký JDBC Driver: Trong t bước của anh ấy, để tải triển khai trình điều khiển mong muốn vào bộ nhớ để nó có thể đáp ứng các yêu cầu JDBC. Có 2 cách để đăng ký tài xế.

    • Cách tiếp cận phù hợp nhất để đăng ký trình điều khiển là sử dụng Java’s forName () phương pháp để tải động tệp lớp của trình điều khiển vào bộ nhớ , tự động đăng ký nó. Phương pháp này phù hợp vì nó cho phép bạn thực hiện đăng ký trình điều khiển có thể cấu hình và di động. Hãy xem đoạn mã dưới đây:

      thử {Class.forName ('oracle.jdbc.driver.OracleDriver')} bắt (ClassNotFoundException ex) System.out.println ('Lỗi: không thể tải lớp trình điều khiển!') System.exit (1)}
    • Cách tiếp cận thứ hai bạn có thể sử dụng để đăng ký trình điều khiển là sử dụng tĩnh registerDriver () phương pháp.

      try {Driver myDriver = new oracle.jdbc.driver.OracleDriver () DriverManager.registerDriver (myDriver)} catch (ClassNotFoundException ex) {System.out.println ('Lỗi: không thể tải lớp trình điều khiển!') System.exit (1 )}
  • Bạn nên sử dụng registerDriver () nếu bạn đang sử dụng JVM không tuân thủ JDK, chẳng hạn như JVM do Microsoft cung cấp. Ở đây mỗi biểu mẫu yêu cầu một cơ sở dữ liệu URL .

  • Công thức URL cơ sở dữ liệu: Công thức URL là cần thiết để tạo một địa chỉ được định dạng phù hợp trỏ đến cơ sở dữ liệu mà bạn muốn kết nối. Sau khi tải trình điều khiển, bạn có thể thiết lập kết nối bằng cách sử dụng DriverManager.getConnection () phương pháp. Phương thức DriverManager.getConnection () là & trừ

    c ++ fibonacci đệ quy
    • getConnection (Chuỗi url)

    • getConnection (String url, Properties prop)

    • getConnection (Chuỗi url, Người dùng chuỗi, Mật khẩu chuỗi)

  • Tạo đối tượng kết nối

Bạn có thể tạo kết nối bằng cách sử dụng URL cơ sở dữ liệu, tên người dùng và mật khẩu cũng như sử dụng đối tượng thuộc tính.

  • Đóng

Cuối cùng, để kết thúc phiên cơ sở dữ liệu, bạn cần đóng tất cả các kết nối cơ sở dữ liệu. Tuy nhiên, nếu bạn quên, trình thu gom rác của Java sẽ đóng kết nối khi nó dọn dẹp các đối tượng cũ.

conn.close () // Được sử dụng để đóng kết nối

Đó là tất cả về Kết nối cơ sở dữ liệu Java. Nếu bạn muốn biết thêm về JDBC, bạn có thể tham khảo bài viết này trên . Phần này đưa chúng ta đến phần cuối của bài viết về 'cách kết nối với cơ sở dữ liệu'. Tôi hy vọng tôi đã làm sáng tỏ kiến ​​thức của bạn trên JDBC.

Kiểm tra của Edureka, một công ty học trực tuyến đáng tin cậy với mạng lưới hơn 250.000 người học hài lòng trải dài trên toàn cầu. Chúng tôi ở đây để giúp bạn từng bước trên hành trình của bạn, để trở thành một người ngoài câu hỏi phỏng vấn java này, chúng tôi còn đưa ra một chương trình giảng dạy được thiết kế cho sinh viên và các chuyên gia muốn trở thành một Nhà phát triển Java.

Có một câu hỏi cho chúng tôi? Vui lòng đề cập đến nó trong phần nhận xét của bài viết “cách kết nối với cơ sở dữ liệu” này và chúng tôi sẽ liên hệ lại với bạn trong thời gian sớm nhất.