Đầu tiên, trong NetBeans IDE, từ tên dự án, nhấp chuột phải và chọn mục menu thuộc tính. Hộp thoại thuộc tính dự án sẽ xuất hiện
Thứ hai, ở phía bên trái của hộp thoại thuộc tính dự án, từ phần Danh mục, chọn mục Thư viện
Thứ ba, nhấp vào nút Thêm thư mục JAR, duyệt đến vị trí bạn đã cài đặt Trình kết nối MySQL/J và chọn tệp JAR như ảnh chụp màn hình bên dưới;
Kết nối với cơ sở dữ liệu MySQL
Trước tiên, bạn cần nhập ba lớp. SQLException, DriverManager và Kết nối từ java. sql. * bưu kiện
Code language: Java [java]
import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException;
Thứ hai, bạn gọi phương thức getConnection[] của lớp DriverManager để lấy đối tượng Connection. Có ba tham số bạn cần truyền cho phương thức getConnection[]
- url. URL cơ sở dữ liệu ở dạng jdbc. giao thức con. tên phụ. Đối với MySQL, bạn sử dụng jdbc. mysql. //máy chủ cục bộ. 3306/mysqljdbc tôi. e. , bạn đang kết nối với MySQL với tên máy chủ localhost, cổng 3006 và cơ sở dữ liệu mysqljdbc
- người dùng. người dùng cơ sở dữ liệu sẽ được sử dụng để kết nối với MySQL
- mật khẩu mở khóa. mật khẩu của người dùng cơ sở dữ liệu
Code language: Java [java]
Connection conn = null; try { // db parameters String url = "jdbc:mysql://localhost:3306/mysqljdbc"; String user = "root"; String password = "secret"; // create a connection to the database conn = DriverManager.getConnection[url, user, password]; // more processing here // ... } catch[SQLException e] { System.out.println[e.getMessage[]]; } finally { try{ if[conn ! null] conn.close[] }catch[SQLException ex]{ System.out.println[ex.getMessage[]] } }
Khi kết nối với MySQL, bất cứ điều gì cũng có thể xảy ra e. g. , máy chủ cơ sở dữ liệu không khả dụng, tên người dùng hoặc mật khẩu sai, v.v. trong những trường hợp như vậy, JDBC ném một SQLException
. Do đó, khi bạn tạo một đối tượng Kết nối, bạn phải luôn đặt nó bên trong khối thử bắt. Ngoài ra, bạn phải luôn đóng kết nối cơ sở dữ liệu sau khi hoàn thành việc tương tác với cơ sở dữ liệu bằng cách gọi phương thức close[]
của đối tượng Kết nối
Từ Java 7, có một câu lệnh hay khác gọi là try-with-resources cho phép bạn đơn giản hóa đoạn mã trên như sau
Code language: Java [java]
// db parameters String url = "jdbc:mysql://localhost:3306/mysqljdbc"; String user = "root"; String password = "secret"; Connection conn = null; try[conn = DriverManager.getConnection[url, user, password];] { // processing here } catch[SQLException e] { System.out.println[e.getMessage[]]; }
Nó sẽ tự động gọi phương thức close[] của đối tượng Connection sau khi chương trình kết thúc. Như bạn có thể thấy nó sạch sẽ và thanh lịch hơn. Tuy nhiên…
Nó không an toàn cũng như không linh hoạt khi bạn code cứng các tham số cơ sở dữ liệu bên trong code như trên. Trong trường hợp bạn thay đổi máy chủ cơ sở dữ liệu hoặc mật khẩu;
Để tránh mã hóa cứng tất cả các tham số cơ sở dữ liệu trong mã, bạn có thể sử dụng tệp thuộc tính Java để lưu trữ chúng. Trường hợp thay đổi chỉ cần thay đổi trong file thuộc tính không phải biên dịch lại code
Hãy xem tệp thuộc tính có tên db. tính chất
Code language: PHP [php]
# MySQL DB parameters user=root password=secret url=jdbc:mysql://localhost:3306/mysqljdbc
Bạn có thể viết lại mã để tạo đối tượng Kết nối với các tham số từ tệp thuộc tính như sau
Code language: Java [java]
Connection conn = null; try[FileInputStream f = new FileInputStream["db.properties"]] { // load the properties file Properties pros = new Properties[]; pros.load[f]; // assign db parameters String url = pros.getProperty["url"]; String user = pros.getProperty["user"]; String password = pros.getProperty["password"]; // create a connection to the database conn = DriverManager.getConnection[url, user, password]; } catch[IOException e] { System.out.println[e.getMessage[]]; } finally { try{ if[conn != null] conn.close[]; }catch[SQLException ex]{ System.out.println[ex.getMessage[]]; } }
Đối với mỗi lần tương tác với cơ sở dữ liệu MySQL, bạn cần tạo một kết nối mới. Bạn sẽ có cùng một đoạn mã để thực hiện việc này ở mọi nơi. Thay vì làm điều này, bạn có thể tạo một lớp mới để xử lý việc tạo kết nối
Code language: Java [java]
package org.mysqltutorial; import java.io.FileInputStream; import java.io.IOException; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; import java.util.Properties; /** * * @author mysqltutorial.org */ public class MySQLJDBCUtil { /** * Get database connection * * @return a Connection object * @throws SQLException */ public static Connection getConnection[] throws SQLException { Connection conn = null; try [FileInputStream f = new FileInputStream["db.properties"]] { // load the properties file Properties pros = new Properties[]; pros.load[f]; // assign db parameters String url = pros.getProperty["url"]; String user = pros.getProperty["user"]; String password = pros.getProperty["password"]; // create a connection to the database conn = DriverManager.getConnection[url, user, password]; } catch [IOException e] { System.out.println[e.getMessage[]]; } return conn; } }
Từ hướng dẫn tiếp theo, chúng ta sẽ sử dụng lớp
0 này để tạo một kết nối mới tới MySQL như sauCode language: Java [java]
Connection conn = null; try { // db parameters String url = "jdbc:mysql://localhost:3306/mysqljdbc"; String user = "root"; String password = "secret"; // create a connection to the database conn = DriverManager.getConnection[url, user, password]; // more processing here // ... } catch[SQLException e] { System.out.println[e.getMessage[]]; } finally { try{ if[conn ! null] conn.close[] }catch[SQLException ex]{ System.out.println[ex.getMessage[]] } }
Code language: Java [java]
package org.mysqltutorial; import java.sql.Connection; import java.sql.SQLException; /** * * @author mysqltutorial.org */ public class Main { public static void main[String[] args] { // create a new connection from MySQLJDBCUtil try [Connection conn = MySQLJDBCUtil.getConnection[]] { // print out a message System.out.println[String.format["Connected to database %s " + "successfully.", conn.getCatalog[]]]; } catch [SQLException ex] { System.out.println[ex.getMessage[]]; } } }
Trong hướng dẫn này, chúng tôi đã chỉ cho bạn từng bước cách kết nối với MySQL bằng cách sử dụng đối tượng Kết nối JDBC và sử dụng tệp thuộc tính để lưu trữ các tham số cơ sở dữ liệu. Ở phần cuối của hướng dẫn, chúng tôi đã phát triển một lớp tiện ích mà bạn có thể sử dụng lại nó mỗi khi tạo kết nối đến cơ sở dữ liệu