Kết nối sql server với spring như thế nào

Tiếp theo loạt bài hướng dẫn kết nối cơ sở dữ liệu với Java, là phần kết nối SQL Server trong Java. Vậy SQL Server là gì? Tại sao sử dụng SQL Server? Ưu và nhược điểm SQL Server? Những cá nhân hay tổ chức nào đang sử dụng SQL Server?Tất cả các câu hỏi tôi đã trả lời chi tiết qua phần tìm hiểu SQL Server là gì? Sau đây là phần hướng dẫn kết nối cơ sở dữ liệu SQL Server với JDBC trong Java.

1. Kết nối SQL Server với JDBC trong Java

Để có thể kết nối cơ sở dữ liệu SQL Server với JDBC trong Java bạn chỉ cần thực hiện 3 bước sau đây:

Bước 1: Bạn cần import thư viện sqljdbc4-2.0.jar

Bước 2: Đoạn mã sau đây thực hiện kết nối cơ sở dữ liệu SQL Server với JDBC trong Java

public Connection getConnect() { try { String connectionUrl = "jdbc:sqlserver://localhost:1433;" + "databaseName=teamvietdev;user=sa;password=root"; Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); Connection connection = DriverManager.getConnection(connectionUrl); System.out.println("Kết nối thành công!"); return connection; } catch (Exception e) { e.printStackTrace(); } return null; }

Trong đó:

– Class.forName(“com.microsoft.sqlserver.jdbc.SQLServerDriver”) dùng để load JDBC SQL Server Driver. Mỗi hệ quản trị cơ sở dữ liệu khác nhau sẽ có chuỗi kết nối khác nhau, như ví dụ trên là dành cho hệ quản trị cơ sở dữ liệu SQL Server.

– connectionUrl bao gồm tên database và user,password kết nối đến SQL Server.

Bước 3: Bây giờ bạn hãy kiểm tra xem việc kết nối cơ sở dữ liệu SQL Server và JDBC bằng Java như thế nào nha

Kết nối thành công!

2. Download ví dụ kết nối cơ sở dữ liệu SQL Server với JDBC trong Java

Để thuận tiện các bạn có thể download source code ví dụ kết nối cơ sở dữ liệu SQL Server và JDBC ngay tại đây.

Như vậy là tôi đã hoàn thành phần kết nối cơ sở dữ liệu SQL Server và JDBC trong Java. Ngoài ra các bạn có thể xem thêm loạt bài thao tác với cơ sở dữ liệu được chia sẽ bởi tại Team Việt Dev.

Trong bài viết này chúng ta sẽ cùng nhau tìm hiểu cách sử dụng JDBC kết nối đến SQL Server database. Ở đây mình giả định máy tính các bạn đã cài đặt sẵn SQL Server.

Download JDBC driver cho SQL Server

Để triển khai một ứng dụng Java sử dụng JDBC để kết nối đến Microsoft SQL Server, chúng ta cần tải JDBC driver tương ứng cho SQL server và import nó vào project. Trong bài viết này mình sẽ sử dụng Microsoft JDBC driver 8.2 tương thích với phiên bản Java 8, 11 và 13. Các bạn có thể tham khảo phiên bản Microsoft JDBC driver 8.2 mới nhất tại đây.

Hoặc nếu bạn đang sử dụng project maven thì cần thêm mssql-jdbc dependency vào pom.xml

com.microsoft.sqlserver mssql-jdbc 8.2.1.jre11

JDBC kết nối SQL Server

Đối với JDBC, để kết nối đến một database bất kỳ chúng ta luôn cần có các thông tin cơ bản như URL, username, password, database name. Dưới đây là cú pháp cơ bản của chuỗi kết nối dùng để kết nối đến SQL server.

Để kết nối Java với SQL Server bằng JDBC, giả sử bạn đã tạo bảng trong SQL Server, bạn cần làm theo 4 bước sau:

  1. Download Microsoft JDBC Driver tại đây, giải nén ra ta được:
    - file sqljdbc41.jar trong thư mục Microsoft JDBC Driver 6.0 for SQL Server\sqljdbc_6.0\enu\jre7, file driver này được sử dụng với jdk/jre 7
    - file sqljdbc42.jar trong thư mục Microsoft JDBC Driver 6.0 for SQL Server\sqljdbc_6.0\enu\jre8, file driver này được sử dụng với jdk/jre 8.
    Một bước quan trọng không kém đó là copy file sqljdbc_auth.dll của thư mục Microsoft JDBC Driver 6.0 for SQL Server\sqljdbc_6.0\enu\auth\xx (với xx là version của window của bạn, 32 hoặc 64) vào thư mục C:\Windows\System32.
  2. Add thư viện sqljdbc4x.jar vào project tương ứng với phiên bản JDK bạn đang sử dụng.
  3. Định nghĩa URL của database và username + password để truy cập vào database đó.
  4. Đăng ký JDBC driver cho SQL Server và thiết lập kết nối.

Chi tiết về việc kết nối ứng dụng Java với cơ sở dữ liệu SQL Server bằng JDBC được thể hiển trong ví dụ dưới đây.

Trong các ví dụ của Hướng Dẫn Java về JPA, mình thường sử dụng MySQL để làm ví dụ vì nó free và dễ sử dụng, cốt yếu là mình quen sử dụng nó 😀 . Thiết nghĩ một số bạn, nhất là các bạn sinh viên thường hay sử dụng MSSQL Server nên mình viết thêm bài này để hướng dẫn các bạn cách kết nối MSSQL Server trong JPA để các bạn có thể tham khảo các bạn nhé!

Đầu tiên, mình sẽ tạo một Maven project để làm ví dụ:

Kết nối MSSQL Server trong JPA

Vì mình sẽ sử dụng JPA với implementation của Hibernate, do đó, mình sẽ thêm Hibernate dependencies như sau:

XHTML

1

2

3

4

5

6

7

8

9

10

org.hibernate

hibernate-core

5.3.0.Final

org.hibernate

hibernate-entitymanager

5.3.0.Final

Project Lombok:

Java

1

2

3

4

5

6

org.projectlombok</groupId>

lombok</artifactId>

1.16.20</version>

provided</scope>

</dependency>

Để sử dụng JPA với MSSQL Server, chúng ta cần thêm JDBC Driver dependency dành cho MSSQL Server là mssql-jdbc. Các bạn có thể tìm thấy latest version của mssql-jdbc từ Microsoft trên Remote Maven Repository tại https://mvnrepository.com/artifact/com.microsoft.sqlserver/mssql-jdbc. JDBC Driver này có nhiều phiên bản dành cho các phiên bản Java khác nhau, các bạn hãy chọn cho đúng với phiên bản Java mà các bạn đang sử dụng nhé.

Ở đây, mình đang sử dụng Java 8 nên mình sẽ thêm dependency của mssql-jdbc như sau:

XHTML

1

2

3

4

5

com.microsoft.sqlserver

mssql-jdbc

6.4.0.jre8

Trong ví dụ này, mình sẽ định nghĩa một table đơn giản chứa thông tin lớp học như sau:

Java

1

2

3

4

CREATE TABLE dbo.clazz (

ID INT NOT NULL IDENTITY(1,1) PRIMARY KEY,

Name VARCHAR(25) NOT NULL

)

Entity của table này:

Java

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

package com.huongdanjava.jpa;

 

import javax.persistence.Column;

import javax.persistence.Entity;

import javax.persistence.GeneratedValue;

import javax.persistence.GenerationType;

import javax.persistence.Id;

import javax.persistence.Table;

 

import lombok.Getter;

import lombok.Setter;

 

@Entity

@Table

@Getter

@Setter

public class Clazz {

 

    @Id

    @GeneratedValue(strategy = GenerationType.IDENTITY)

    private Long id;

 

    @Column

    private String name;

}

Phần quan trọng nhất là phần cấu hình cho tập tin cấu hình của JPA persistence.xml. Nội dung của tập tin này mình sẽ cấu hình như sau:

XHTML

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

version="2.1"

             xmlns="http://xmlns.jcp.org/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

             xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence http://xmlns.jcp.org/xml/ns/persistence_2_1.xsd">

 

    name="jpaexample" transaction-type="RESOURCE_LOCAL">

        com.huongdanjava.jpa.Clazz

        true

 

        

            name="javax.persistence.jdbc.driver" value="com.microsoft.sqlserver.jdbc.SQLServerDriver" />

            name="javax.persistence.jdbc.url" value="jdbc:sqlserver://localhost:1433;databaseName=jpa_example" />

            name="javax.persistence.jdbc.user" value="sa" />

            name="javax.persistence.jdbc.password" value="abczxy1T" />

 

            name="hibernate.format_sql" value="true" />

            name="hibernate.use_sql_comments" value="true" />

        

    

Ở đây, driver class của MSSQL sẽ là com.microsoft.sqlserver.jdbc.SQLServerDriver và url để kết nối tới database sẽ có dạng là jdbc:sqlserver://:

;databaseName=. Trong đó: