Cài đặt Java

Nếu môi trường trên máy của bạn chưa cài đặt JDK thì bạn phải tải JDK từ Oracle. Nếu bạn đã có Java thì có thể bỏ qua bước này.

Hướng dẫn kiểm tra máy tính của bạn đã cài đăt JDK chưa? Sử dụng CMD và gõ lệnh java –version sau đó nhấn Enter để xem kết quả.

Cài đặt RDBMS

Ứng dụng Java có thể làm việc với nhiều hệ quản trị cơ sở dữ liệu khác nhau như MySQL, PostgreSQL, SQL Server, Oracle, …

Chúng ta lựa chọn hệ quản trị nào còn tuỳ thuộc vào yêu cầu thực tế của dự án. Ở đây, chúng ta sẽ cài đặt và sử dụng hệ quản trị Microsoft SQL Server.

Tạo cơ sở dữ liệu

Tạo database

Chúng ta sẽ tạo một cơ sở dữ liệu tên EMPDB sử dụng câu lệnh sau:

CREATE DATABASE EMPDB

Nhập câu lệnh và chọn Execute (Hoặc nhấn F5)

Sau đó chuột phải vào databases bên trái, ấn refresh

Tạo bảng

Tạo bảng employee thuộc cơ sở dữ liệu EMPDB sử dụng câu lệnh sau

use EMPDB
create table Employees (
id int not null primary key.
first nvarchar (255).
last nvarchar (255)
,
age int not null,
)

Bôi đen query và ấn Execute

Nhập giá trị

Nhập mẫu các giá trị để sử dụng cho việc thực hành, có 2 cách như sau:

  • Chuột phải vào bảng cần sửa, chọn Edit top 200 rows
  • Dùng lệnh insert into <database> (<columns>) values (<values>)

Tải JDBC driver

Tải JDBC Driver từ Microsoft và thêm mssql-jdbc-11.2.0.jre17.jar (tùy vào phiên bản của bạn) vào Java project trong Netbeans. Kiểm tra tại Support matrix.

Chuột phải Libraries -> Chọn Add JAR/Folder…

Chỉ định thư mục chứa JDBC Driver và chọn tập tin .jar và Open

Kết nối SQL Server JDBC Connection String

JDBC Connection String là chuỗi được sử dụng để kết nối đến SQL Server. Mỗi một hệ quản trị cơ sở dữ liệu sẽ có một chuỗi kết nối khác nhau. Sau đây là chuỗi kết nối JDBC dành cho Microsoft SQL Server.

jdbc:sqlserver://[serverName[\instanceName][:portNumber]][;property=value[;property=value]]
  • serverName là tên máy chủ hoặc địa chỉ IP của máy SQL Server
  • instanceName tên instance của thuộc SQL Server
  • portNumber là cỗng ứng dụng của SQL Server, mặc định là 1433 (phải bật)
  • property=value chỉ định các thuộc tính, tên và mật khẩu đăng nhập

Thiết lập kết nối (establish connection)

Để tạo một kết nối, gọi phương thức getConnection() của lớp DriverManager. Sau đây là đoạn code được sử dụng để kết nối đến localhost sử dụng user là sa, mật khẩu là sa và kết nối vào cơ sở dữ liệu tên EMPDB, thêm encrypt=false vì password để plaintext.

String dbURL = "jdbc:sqlserver://localhost:1433;databaseName=EMPDB;user=sa;password=sa;encrypt=false;";
Connection conn = DriverManager.getConnection(dbURL);
if (conn != null) {
 System.out.println("Connected");
}

Để đoạn code trên được thực thi thành công, chúng ta phải thực hiện 2 việc

Việc thứ nhất: Thiết lập SQL Server cho phép đăng nhập sử dụng tài khoản của SQL Server

Chuột phải SQL Server -> Chọn Properties

Chọn SQL Server and Windows Authencation mode

Chuột phải Restart lại SQL Server

Việc thứ hai: Kích hoạt và đặt mật khẩu cho tài khoản sa

Tại Security/Logins, Chuột phải vào tài khoản sa -> Chọn Properties

Đặt mật khẩu là sa

Vào Statuc, chọn Enable tại mục Login

Kết nối sql server với java

import java.sql.Connection;
import java.sql.DatabaseMetaData;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.logging.Level;
import java.util.logging.Logger;

public class ConnectionTest {
 public static void main(String[] args) {
  try {
    String dbURL = "jdbc:sqlserver://localhost;databaseName=EMPDB;user=sa;password=sa";
    Connection conn = DriverManager.getConnection(dbURL);
    if (conn != null) {
      System.out.println("Connected");
      DatabaseMetaData dm = (DatabaseMetaData) conn.getMetaData();
      System.out.println("Driver name: " + dm.getDriverName());
      System.out.println("Driver version: " + dm.getDriverVersion());
      System.out.println("Product name: " + dm.getDatabaseProductName());
      System.out.println("Product version: " + dm.getDatabaseProductVersion());
    }
   } catch (SQLException ex) {
     System.err.println("Cannot connect database, " + ex);
   }
  }
}

Khi chạy chương trình trên, chúng ta sẽ nhận được kết quả sau

Leave a Reply

This site uses cookies to offer you a better browsing experience. By browsing this website, you agree to our use of cookies.