Hướng dẫn kết nối csdl giữa 2 máy

Nội dung: Xây dựng ứng dụng có kết nối cơ sở dữ liệu (SQL Server). Thực hiện thao tác hiển thị, thêm, xóa, sửa dữ liệu từ cơ sở dữ liệu (SQL Server) cho ứng dụng Java

  1. Giới thiệu: Java JDBC là một java API được sử dụng để kết nối và thực hiện truy vấn với cơ sở dữ liệu. JDBC API sử dụng trình điều khiển jdbc để kết nối với cơ sở dữ liệu.

Các thành phần JDBC thông dụng:

+ DriverManager: Lớp này quản lý một danh sách trình điều khiển cơ sở dữ liệu (database drivers). Lựa chọn trình điều khiển phù hợp từ yêu cầu của ứng dụng java sử dụng giao thức giao tiếp.

+ Connection: Đại diện cho một kết nối đến cơ sở dữ liệu

+ Statement: Đối tượng dùng để thực thi các câu lệnh SQL như câu lệnh thêm dữ liệu (insert), câu lệnh thay đổi dữ liệu (update), câu lệnh xoá dữ liệu (delete), câu lệnh xem dữ liệu (select), …

+ ResultSet: Đối tượng này sẽ chứa dữ liệu sau khi chúng ta thực thi câu lệnh xem dữ liệu. Sử dụng đối tượng này để duyệt qua tất cả dữ liệu được chứa trong ResultSet.

+ SQLException: Lớp này xử lý tất cả những ngoại lệ phát sinh trong quá trình ứng dụng java thao tác với cơ sở dữ liệu.

Chuỗi kết nối đến CSDL:

jdbc:sqlserver://[serverName[\instanceName][:portNumber]][;property=value[;property=value]]

Trong đó:

+ serverName: là tên máy chủ hoặc địa chỉ IP của máy đang cài đặt Microsoft SQL Server

+ instanceName: tên của một thể hiện để kết nối đến serverName. Nếu tham số này không được chỉ định thì default instance sẽ được sử dụng

+ property=value: chỉ định tên cơ sở dữ liệu, tên và mật khẩu đăng nhập vào SQLServer

II. Thực hiện:

1. Kết nối CSDL giữa JAVA và hệ quản trị CSDL SQL Server

Truy cập địa chỉ:

https://learn.microsoft.com/en-us/sql/connect/jdbc/download-microsoft-jdbc-driver-for-sql-server?view=sql-server-ver16

để tải thư viện phiên bản mới nhất

Thêm thư viện JDBC vào project: Chọn project cần thêm thư viện => bấm chuột phải vào Libraries (1) => chọn Add JAR/Folder (2) => hiển thị cửa sổ mới (3) => chọn đến phần JDBC đã được giải nén (4) => bấm vào Open (5)

Hướng dẫn kết nối csdl giữa 2 máy

Sau khi thêm thư viện:

Hướng dẫn kết nối csdl giữa 2 máy

2. Xây dựng lớp kết nối đến cơ sở dữ liệu, kiểm tra và thông báo kết nối thành công.

Hướng dẫn: Tạo CSDL trong SQL Server có tên demoJdbc có bảng Khoa gồm trường như sau:

iDKhoa: là khóa chính, kiểu int tự tăng

Hướng dẫn kết nối csdl giữa 2 máy
tenKhoa: là tên của khoa diaChi: Địa chỉ của khoa

Xây dựng hàm kết nối đến CSDL và thực hiện kiểm tra xem có kết nối được không?

import java.sql.*; public class dbContext {
public static Connection sConn = null;  
public static void main(String[] args) {  
    //Khai báo chuỗi kết nối  
    String strDbUrl = "jdbc:sqlserver://localhost:1433; databaseName=demoJdbc;user=sa;password=sa;"  
  • "encrypt=true;trustServerCertificate=true";
        if (sConn == null) {  
            try {                
                sConn = DriverManager.getConnection(strDbUrl);  
                System.out.println("Ket noi thanh cong");  
                DatabaseMetaData data = (DatabaseMetaData) sConn.getMetaData();  
                // hien thi thong tin sql khi ket noi thanh cong  
                System.out.println("Driver Name: " + data.getDriverName());  
                System.out.println("Driver Version: " + data.getDriverVersion());  
                System.out.println("Product Name: " + data.getDatabaseProductName());  
                System.out.println("Version: " + data.getDatabaseProductVersion());  
            }   
            catch (SQLException ex) {System.out.println("Khong the ket noi den CSDL \n" + ex);  
            }   
        }  
    }  
    
    }
    Kết quả chạy chương trình:

run: Kết nối thành công Driver Name: Microsoft JDBC Driver 12.2 for SQL Server Driver Version: 12.2.0.0 Product Name: Microsoft SQL Server Version: 15.00.2095 BUILD SUCCESSFUL (total time: 0 seconds)

3\. Các kiểu tương tác với cơ sở dữ liệu SQL Server Của JDBC
3.1. Đối tượng Statement (Sử dụng câu lệnh Sql trực tiếp) Ccú pháp như sau

Statement stmt = null;

try {

stmt = conn.createStatement();

. . .

}

catch (SQLException e) {

. . .

}

3.2. Đối tượng PreparedStatement (Sử dụng câu lệnh SQL truyền tham số) Cú pháp như sau

PreparedStatement pstmt = null;

try {

String SQL = "Update Employees SET age = ? WHERE id = ?";

pstmt = conn.prepareStatement(SQL);

. . .

}

catch (SQLException e) { . . .}

3.3. Đối tượng CallableStatement (Sử dụng storeProcedure được xây dựng sẵn trong SQL Server có truyền tham số) Cú pháp như sau