Kết nối ứng dụng Spring Framework với Cơ sở dữ liệu SQL

Công Nghệ
Kết nối ứng dụng Spring Framework với Cơ sở dữ liệu SQL
Bài viết được sự cho phép của tác giả Trần Thị Thu Hà Hầu hết các ứng dụng Java doanh nghiệp (Java enterprise system) đều cần kết nối đến Hệ quản trị cơ sở dữ liệu SQL . Spring Framework hỗ trợ thao tác với Hệ quản trị CSDL thuộc...

Bài viết được sự cho phép của tác giả Trần Thị Thu Hà

Hầu hết các ứng dụng Java doanh nghiệp (Java enterprise system) đều cần kết nối đến Hệ quản trị cơ sở dữ liệu SQL. Spring Framework hỗ trợ thao tác với Hệ quản trị CSDL thuộc 3 dạng thường gặp là:

– JPA (Java Persistence API)

– JDBC (Java database Connectivity)

– Hibernate

Trong bài viết này, SmartJob sẽ hướng dẫn bạn cấu hình kết nối ứng dụng Spring Framework với CSDL MySQL. Trong tình huống này, có 3 cách để cấu hình kết nối:

– Sử dụng file XML

– Sử dụng code Java (*)

– Sử dụng Annotation

Bài viết này sử dụng cách (*) để khai báo thông số kết nối.

Khởi tạo project Spring sử dụng Gradle buid system
(Nếu bạn chưa rõ cách khởi tạo project theo cách này, hãy xem lại bài viết Kỹ thuật Autowiring sử dụng annotation trong Spring Framework và Gọi các object của Autowired Collections theo thứ tự trong Spring Framework)

File build.gradle

group 'vn.smartjob.configuring_data_source'
version '0.0.1-SNAPSHOT'

apply plugin: 'java'

sourceCompatibility = 1.8

repositories {
mavenCentral()
}

dependencies {
testCompile group: 'junit', name: 'junit', version: '4.11'
compile("org.springframework:spring-core:4.2.6.RELEASE")
compile("org.springframework:spring-context:4.2.6.RELEASE")
compile("org.springframework:spring-jdbc:4.2.6.RELEASE")
compile("mysql:mysql-connector-java:6.0.2")
}

Cấu hình kết nối đến CSDL bởi một class Java:

package vn.smartJob.configuring_data_source;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.jdbc.datasource.DriverManagerDataSource;
import javax.sql.DataSource;

@Configuration
public class AppConfiguration {

@Bean
public DataSource dataSource(){
DriverManagerDataSource dataSource = new DriverManagerDataSource();
dataSource.setDriverClassName("com.mysql.jdbc.Driver");
dataSource.setUrl("jdbc:mysql://localhost:3306/ten_csdl");
dataSource.setUsername("root");
dataSource.setPassword("1234");
return dataSource;
}

}

Khi kết nối đến CSDL, cần các thao tác như tạo kết nối, mở kết nối, đóng kết nối:

package vn.smartJob.configuring_data_source;

import org.springframework.context.annotation.AnnotationConfigApplicationContext;

import javax.sql.DataSource;
import java.sql.Connection;
import java.sql.SQLException;

public class App {

public static void main(String[] args) throws SQLException {
AnnotationConfigApplicationContext applicationContext = new AnnotationConfigApplicationContext(AppConfiguration.class);
DataSource dataSource = applicationContext.getBean("dataSource", DataSource.class);
Connection connection = dataSource.getConnection();
System.out.println("Kết nối Hệ quản trị Cơ sở dữ liệu thành công");
checkConnectionStatus(connection);
connection.close();
checkConnectionStatus(connection);
}

public static void checkConnectionStatus(Connection connection) throws SQLException {
if (connection.isClosed()) {
System.out.println("Hiện tại Không có kết nối đến Hệ Quản trị Cơ sở dữ liệu");
} else {
System.out.println("Hiện tại Đang có kết nối đến Hệ quản trị CSDL");
}
}

}

// Kết quả:

// Kết nối Hệ quản trị Cơ sở dữ liệu thành công
// Hiện tại Đang có kết nối đến Hệ quản trị CSDL
// Hiện tại Không có kết nối đến Hệ Quản trị Cơ sở dữ liệu

Download source code: configuring-datasource . Hoặc clone/fork từ GitHub: https://github.com/SmartJobVN/configuring-datasource

Đỗ Như Vý – Bài viết gốc được đăng tải tại smartjob.vn

Có thể bạn quan tâm:

Xem thêm Việc làm Developer hấp dẫn trên Station D

Bài viết liên quan

Ngành IT: Làm việc “trên mây” kiếm nhiều tiền nhất hiện nay

Ngành IT: Làm việc “trên mây” kiếm nhiều tiền nhất hiện nay

Kết quả từ cuộc khảo sát đầu năm của Station D về lương bổng của lập trình viên cho thấy nhiều thay đổi đã và đang diễn ra trong ngành IT – cuộc khảo sát tập trung vào các câu hỏi về khối lượng công việc, triển vọng cũng như...

By stationd
Đâu chỉ mỗi Bitcoin, công nghệ Blockchain còn nhiều ứng dụng hơn thế!

Đâu chỉ mỗi Bitcoin, công nghệ Blockchain còn nhiều ứng dụng hơn thế!

Khi nhắc đến blockchain , lập tức mọi người thường nghĩ ngay đến các loại tiền mã hóa, chẳng hạn như bitcoin. Tuy nhiên, blockchain lại là công nghệ tạo ra tiền mã hóa nhưng bản thân công nghệ này không phải là tiền mã hóa như cách mà chúng...

By stationd
Mock phương thức static trong Unit Test sử dụng PowerMock

Mock phương thức static trong Unit Test sử dụng PowerMock

Bài viết được sự cho phép của tác giả Nguyễn Hữu Khanh Trong bài viết này, mình sẽ hướng dẫn các bạn Mock các phương thức static trong Unit Test các bạn nhé! Nếu bạn nào chưa biết về Mock trong Unit Test thì mình có thể nói sơ qua...

By stationd