Các bạn cũng đã biết Hibernate và Spring là các frameworks mã nguồn mở của Java khuôn khổ nhằm đơn giản hóa việc phát triển các ứng dụng từ đơn giản đến phức tạp, các ứng dụng Java/JEE, ứng dụng độc lập chạy trên một JVM duy nhất…Nhờ có Hibernate và Spring mà các nhà phát triển có thể xây dựng các khả năng mở rộng hiệu quả và đáng tin cậy hơn.
Sơ lược về kết hợp giữa Spring và Hibernate
Tuy rằng một phần mục đích của các khuôn khổ có chồng lên nhau, nhưng các phần còn lại có mục đích khác nhau.
Nếu như Hibernate framework để xử lý các bài toán về quản lý dữ liệu (chẳng hạn như: DBMS (Database Management Systems), API Java, persistence providers, JDBC (Java Database Connectivity)). Thì, Spring lại là khung nhiều tầng và không phải dành cho một khu vực kiến trúc ứng dụng. Nhờ API nhất quán của mình Spring thống nhất các giải pháp từ trước nên chúng dễ sử dụng hơn. Bạn có thể gọi một trong những khu vực này là persistence. Để cung cấp một lớp trừu tượng, hiệu quả hơn, bạn có thể tích hợp Spring với một persistence solution như Hibernate chẳng hạn.
Kết nối cơ sở dữ liệu (database)
Cách tạo một DB bằng MySQl
Chẳng hạn bạn tạo một cơ sở dữ liệu tên là studentdb với bảng là student và cấu trúc bảng như bên dưới:
Xây dựng Spring Project
Tạo một dynamic web project có tên KetNoiDB, sau đó thêm thư mục (add new folder) cho project như bên dưới:
Sau đó, bạn convert qua maven project rồi add maven vô thư viện của project:
Cấu hình file pom để dùng Spring, Hibernate và MySQl như sau:
Tạo lập file jdbc.properties để cấu hình sử dụng cơ sở dữ liệu
Vô src\main\webapp thiết lập một file mới với tên jdbc.properties như sau:
Đây chính là config giúp kết nối với cơ sở dữ liệu MySQl
Bạn tạo các file, thư mục như hình dưới đây:
Nội dung của các file thì như này:
com.nhungnth.model/student.java
com.nhungnth.dao/StudentDao.java
com.nhungnth.dao.impl/StudentDaoImpl.java
com.nhungnth.service/StudentService.java
com.nhungnth.service.impl/StudentServiceImpl.java
com.nhungnth.controller/StudentController.java
tạo các file view cho webapp
src/main/webapp/jsp/includes.jsp
src/main/webapp/jsp/student.jsp
Student Management
Students Data
Cấu hình của các file log4j.xml, hibernate.cfg.xml và web.xml:
src\main\resources\log4j.xml — ghi lại log
src\main\resources\hibernate.cfg.xml — cofig cho file hibernate
src\main\webapp\spring-servlet.xml — cấu hình file servlet
src\main\webapp\web.xml
Kết luận: Refesh lại project và start server để run project
Ưu điểm khi sử dụng Hibernate:
Năng suất: ít phải viết code java, không cần viết code sql
Hiệu suất: cache
Bảo trì dễ dàng.
Linh hoạt hơn, do generate code sql, bạn cũng có thể tùy chỉnh sql.
Nhược điểm:
Do phải generate code sql nên Hibernate không nhanh bằng jdbc.
Bên trên là toàn bộ quá trình thực hiện giúp bạn có thể tích hợp được hệ quản trị cơ sở dữ liệu của Hibernate với khả năng xử lý, hoạt động của Spring giúp bạn cải thiện đáng kể thời gian và năng suất làm việc.