Kết nối MySQL trong Java

Làm việc với CSDL dữ liệu là tác vụ không thể thiếu trong lập trình ứng dụng, MySQL là 1 trong những hệ quản trị CSDL phổ biến và được sử dụng rộng rải nhất hiện nay. Trong bài viết này chúng ta sẽ tìm hiểu cách kết nối với MySQL trong Java qua JDBC.

Đầu tiên, chúng ta tải MySQL JDBC driver tại đây.

Sau đây là code dùng để kết nối với MySQL trong Java.

package net.justpassion.db;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class MySQLConnection {
    private final String driver = "com.mysql.jdbc.Driver"; 
    private String connectionString = "jdbc:mysql://localhost:3306/db_test";
    private String user = "user";
    private String password = "password";
 
    private Connection conn;
 
    // Open connection to db
    public void connect(){
       try{
          Class.forName(driver);
          conn = DriverManager.getConnection(user, user, password);
          conn.setAutoCommit(false);
       }
       catch(Exception ex){
          ex.printStackTrace();
       } 
    }
 
    // Close connection
    public void close(){
       if(conn != null){
          try{
             conn.close();
          }
          catch(SQLException ex){
             ex.printStackTrace();
          }
       }
    }
 
    // Commit changes on connection
    public void commit() throws SQLException{
       if(conn != null){
          conn.commit();
       }
    }
 
    // Rollback changes
    public void rollback(){
       if(conn != null){
          try{
             conn.rollback();
          }
          catch(SQLException ex){
             ex.printStackTrace();
          }
       }
    }
 
 
    public void setAutoCommit(boolean isAuto) throws SQLException{
       if(conn != null){
          conn.setAutoCommit(isAuto);
       }
    }
 
    public boolean checkIsClosed() throws SQLException {
       if (conn != null) {
          return conn.isClosed();
       }
       return true;
    }
}

Trong các storage engine hỗ trợ giao dịch của MySQL như InnoDB, các thay đổi trên CSDL chỉ được lưu trữ thực sự khi chúng được commit, trừ trường hợp máy chủ MySQL của chúng ta cấu hình kích hoạt autocommit, khi đó mọi thay đổi sẽ được lưu trữ vĩnh viễn trong CSDL cho đến khi có các thay đổi khác.

Trong trường hợp này chúng ta muốn thực hiện thủ công việc commit cũng như rollback, do đó ta sử dụng setAutoCommit(false) cùng các phương thức commit() và rollback() để thực hiện việc này.

Chúng ta kết thúc bài tìm hiểu tại đây. Chúc các bạn thành công!

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.