Kết Nối CSDL (JDBC) Trong Dự án Maven - Lập Trình

sinhnx.dev Blog
  • Lập trình
  • Cơ sở dữ liệu
  • Tin tức
  • Chủ đề khác

Đ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
  • 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

Tài liệu tham khảo:

https://maven.apache.org/install.htmlhttps://maven.apache.org/guides/mini/guide-configuring-maven.htmlhttps://mvnrepository.com/artifact/mysql/mysql-connector-java

Từ khóa » Kết Nối Java Với Mysql Bằng Jdbc