Điều kiện cần:
- Đã cài đặt JDK
- Đã cài đặt JAVA_HOME
- Đã cài đặt Path cho JDK
- Biết lập trình Java căn bản
- Biết "Tạo, biên dịch và chạy dự án Java với Apache Maven"
- Đã cài đặt CSDL MySQL
- Biết sử dụng các câu lệnh SQL trong MySQL
Tạo CSDL OrderDB với tệp OrderDB.sql
- Tải tệp / sao chép toàn bộ cầu lệnh OrderDB.sql về máy với tên tệp tương tự
- Thực hiện lệnh sau để tạo CSDL cũng như các bảng và tài khoản kết nối vào CSDL:
- Sử dụng lệnh mysql:
$ mysql -u root -p < OrderDB.sql
- Sử dụng MySQL Workbench:
- Tạo một truy vấn mới rồi sao chép toàn bộ lệnh trong tệp OrderDB.sql
- Mở file OrderDB.sql nếu đã tải xuống
- Chạy truy vấn với những câu lệnh vừa sao chép
- Sử dụng lệnh mysql:
- Kiểm tra CSDL OrderDB và các bảng đã được tạo như ERD sau:
Tạo dự án Maven
- Làm theo hướng dẫn tại đây.
Thêm thư viện kết nối CSDL MySQL phụ thuộc
- Kiểm tra phiên bản MySQL đã được cài vào máy
$ mysql --version
- Kiểm tra thư viện phụ thuộc tại liên kết sau: https://mvnrepository.com/artifact/mysql/mysql-connector-java
- Click chuột vào phiên bản tương ứng với phiên bản MySQL vừa kiểm tra. Ví dụ: phiên bản mới nhất là 8.0.20
- Thêm dependency vào file pom.xml
<!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.20</version> </dependency>
Tạo lớp DdUtil để kết nối CSDL
import java.io.FileInputStream;
import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Properties;
public class DbUtil {
private static Connection connection;
private static String url = "jdbc:mysql://localhost:3306/OrderDB";
private static String user = "sinhnx";
private static String password = "sinhnx.dev";
public static Connection getConnection() throws SQLException {
connection = DriverManager.getConnection(url, user, password);
return connection;
}
public static Connection getConnection(String dbConfigFile) throws SQLException {
try (FileInputStream f = new FileInputStream(dbConfigFile)) {
// load the properties file
Properties pros = new Properties();
pros.load(f);
// assign db parameters
url = pros.getProperty("url");
user = pros.getProperty("user");
password = pros.getProperty("password");
// create a connection to the database
return getConnection();
} catch (IOException e) {
return null;
}
}
}
Kiểm tra kết nối đến CSDL
- Kết nối CSDL với tham số cấu hình mặc định:
public class App { public static void main(String[] args) { try (Connection con = dev.sinhnx.dal.DbUtil.getConnection();) { System.out.println("Connected to MySql Server."); } catch (SQLException ex) { System.out.println("Connection Error!"); } } }
- Kết nối CSDL với tham số được cấu hình trong tệp orderDb.properties
- Tạo tệp orderDb.properties (trong thư mục gốc của dự án maven)
- Thêm nội dung vào tệp orderDb.properties:
# MySQL DB parameters url=jdbc:mysql://localhost:3306/OrderDB user=sinhnx password=sinhnx.dev
- Kiểm tra kết nối với tệp vừa cấu hình:
public class App { public static void main(String[] args) { try (Connection con = dev.sinhnx.dal.DbUtil.getConnection("./orderDb.properties");) { System.out.println("Connected to MySql Server."); } catch (SQLException ex) { System.out.println("Connection Error!"); } } }
Tổng kết
- Mã nguồn tham khảo: https://github.com/sinhdev/java-demo/tree/master/JavaJdbcMySql
- Mã nguồn lớp DbUtil: https://github.com/sinhdev/java-demo/blob/master/JavaJdbcMySql/src/main/java/dev/sinhnx/dal/DbUtil.java