http://vietjack.com/java_jdbc/index.jsp Copyright © vietjack.com Kết nối JDBC với sở liệu Chương này, tìm hiểu bước chung để thiết lập kết nối JDBC với Database Trong hai chương tiếp theo, tìm hiểu chi tiết cách kết nối với Oracle Database MySQL Bước 1: Import package Bạn thêm lệnh import chương trình Java để bao lớp cần thiết Bước 2: Đăng ký JDBC driver Bạn tìm hiểu cách import lib Java link sauvietjack.com/java_jdbc/cach_them_file_jar_lib_trong_java.jsp Bước làm JVM tải trình triển khai driver cụ thể vào nhớ để thực yêu cầu JDBC bạn Bước 3: Tạo địa Database URL xác Bước quan trọng thường xuất nhiều lỗi bạn tạo địa thích hợp để trỏ tới Database mà bạn muốn kết nối Bước 4: Tạo đối tượng Connection Bạn gọi phương thức getConnection() đối tượng DriverManager để thành lập kết nối tới sở liệu thực Phần trình bày chi tiết bước Bước 1: Import JDBC package Lệnh import nói cho Java Compiler nơi để tìm lớp mà bạn muốn tham chiếu code lệnh đặt phần code Để sử dụng JDBC package chuẩn phép bạn chọn, cập nhật xóa liệu bảng SQL, bạn thêm dòng sau: import java.sql.* ; // cho cac chuong trinh JDBC chuan import java.math.* ; // de ho tro BigDecimal va BigInteger http://vietjack.com/ Trang chia sẻ các bài học online miễn phí http://vietjack.com/java_jdbc/index.jsp Copyright © vietjack.com Bước 2: Đăng ký JDBC driver Trước sử dụng driver nào, bạn cần đăng ký Trong chương trình, bạn cần thực lần tiến trình đăng ký này, theo hai cách sau: Sử dụng phương thức Class.forName() Sử dụng phương thức Class.forName() hướng tiếp cận chung phổ biến để đăng ký driver Dưới cú pháp: public static void Class.forName(String ten_lop) throws ClassNotFoundException Ví dụ, để đăng ký Oracle driver, bạn sử dụng mẫu sau: try { Class.forName("oracle.jdbc.driver.OracleDriver").newInstance(); } catch(ClassNotFoundException ex) { System.out.println("Error: khong the tai lop Driver!"); System.exit(1); catch(IllegalAccessException ex) { System.out.println("Error: xuat hien van de truy cap tai!"); System.exit(2); catch(InstantiationException ex) { System.out.println("Error: khong the thuyet minh Driver!"); System.exit(3); } Sử dụng DriverManager.registerDriver() Nếu bạn sử dụng JDK không tuân theo JVM (được cung cấp Microsoft chẳng hạn), bạn nên sử dụng phương thức DriverManager.registerDriver() Ví dụ: try { Driver myDriver = new oracle.jdbc.driver.OracleDriver(); DriverManager.registerDriver( myDriver ); } catch(ClassNotFoundException ex) { System.out.println("Error: khong the tai lop Driver!"); System.exit(1); } Bước 3: Tạo địa Database URL xác Đây địa trỏ tới sở liệu bạn Việc tạo địa Database URL xác quan trọng, thường bước hay xuất lỗi thành lập kết nối Bảng liệt kê số tên JDBC driver Database URL phổ biến: Trong đó, hostname tên server mà sở liệu chạy (có thể localhost địa IP bạn); port Number số hiệu cổng databaseName tên sở liệu RDBMS Tên JDBC Driver Định dạng URL MySQL com.mysql.jdbc.Driver jdbc:mysql://hostname/ databaseName http://vietjack.com/ Trang chia sẻ các bài học online miễn phí http://vietjack.com/java_jdbc/index.jsp Copyright © vietjack.com ORACLE oracle.jdbc.driver.OracleDriver jdbc:oracle:thin:@hostname:port Number:databaseName DB2 COM.ibm.db2.jdbc.net.DB2Driver jdbc:db2:hostname:port Number/databaseName Sybase com.sybase.jdbc.SybDriver jdbc:sybase:Tds:hostname: port Number/databaseName Phần in đậm phần bạn không nên thay đổi, bạn cần thay đổi phần lại theo yêu cầu bạn Bước 4: Tạo đối tượng Connection Sau tải driver, bạn thiết lập kết nối sử dụng phương thức DriverManager.getConnection() Phương thức có ba mẫu: Mẫu 1: getConnection(String url) Mẫu phương thức yêu cầu Database URL Tuy nhiên, trường hợp này, Database URL bao username password Ví dụ: giả sử bạn sử dụng Thin driver Oracle, với host name vietjack, cổng 3306 tên sở liệu sinhvien, Database URL là: jdbc:oracle:thin:username/password@vietjack:3306:sinhvien Do đó, kết nối tạo sau: String URL = "jdbc:oracle:thin:username/password@vietjack:3306:sinhvien"; Connection conn = DriverManager.getConnection(URL); Mẫu 2: getConnection(String url, Properties info) Mẫu phương thức yêu cầu Database URL đối tượng Properties Một đối tượng Properties giữ tập hợp cặp key-value Mẫu sử dụng để truyền thuộc tính tới driver lời gọi tới phương thức getConnection() Để tạo kết nối ví dụ trên, bạn sử dụng: import java.util.*; String URL = "jdbc:oracle:thin:@vietjack:3306:sinhvien"; Properties info = new Properties( ); info.put( "user", "username" ); info.put( http://vietjack.com/ Trang chia sẻ các bài học online miễn phí http://vietjack.com/java_jdbc/index.jsp Copyright © vietjack.com "password", "password" ); info); Connection conn = DriverManager.getConnection(URL, Mẫu 3: getConnection(String url, String user, String password) Đây mẫu sử dụng phổ biến Bạn sử dụng phương thức để truyền Database URL, username password Cũng sử dụng ví dụ trên, bạn phải gọi phương thức getConnection() với username password xác để nhận đối tượng Connection sau: String URL = "jdbc:oracle:thin:@vietjack:3306:sinhvien"; String USER = "username"; String PASS = "password" Connection conn = DriverManager.getConnection(URL, USER, PASS); Đóng kết nối JDBC Garbage Collector Java đóng kết nối thực tiến trình xóa đối tượng cũ Tuy nhiên, sau thực xong tác vụ với Database, bạn nên đóng tất kết nối tới sở liệu Bước thực hành cần thiết thực tốt, đơi việc q tin tưởng vào trình dọn rác gây hậu không mong muốn Để bảo đảm kết nối đóng, bạn cung cấp khối finally phần code Khối finally luôn thực thi, khơng exception xuất Để đóng kết nối mở trên, bạn nên gọi phương thức close() có cú pháp sau: public void conn.close() throws SQLException http://vietjack.com/ Trang chia sẻ các bài học online miễn phí ... oracle .jdbc. driver.OracleDriver jdbc: oracle:thin:@hostname:port Number:databaseName DB2 COM.ibm.db2 .jdbc. net.DB2Driver jdbc: db2:hostname:port Number/databaseName Sybase com.sybase .jdbc. SybDriver jdbc: sybase:Tds:hostname:... localhost địa IP bạn); port Number số hiệu cổng databaseName tên sở liệu RDBMS Tên JDBC Driver Định dạng URL MySQL com.mysql .jdbc. Driver jdbc: mysql://hostname/ databaseName http://vietjack.com/ ... Bước 3: Tạo địa Database URL xác Đây địa trỏ tới sở liệu bạn Việc tạo địa Database URL xác quan trọng, thường bước hay xuất lỗi thành lập kết nối Bảng liệt kê số tên JDBC driver Database URL phổ