Cấu hình HSQLDB trong ứng dụng Web cho Java

Ở đây chúng ta sẽ tìm hiểu cách định cấu hình HSQLDB trong ứng dụng web Spring.

HSQLDB (HyperQuery DataBase) là công cụ db quan hệ SQL được viết bằng Java. 

lap-trinh-java-spring
Ảnh minh họa

Nó cung cấp một công cụ cơ sở dữ liệu giao dịch và đa luồng nhỏ, nhanh với các bảng trong bộ nhớ và dựa trên đĩa và hỗ trợ các chế độ nhúng và máy chủ. 

Nó bao gồm các công cụ như công cụ SQL dòng lệnh và công cụ truy vấn GUI.

Bản phát hành hiện tại: 2.2.8 (Phát hành tháng 1 năm 2012)

Điều kiện tiên quyết :

JDK 1.6 (Có sẵn tải xuống riêng cho JDK 1.5)

hsqldb.jar (Bao gồm trong hsqldb-2.2.8.zip. Có thể tải xuống từ đây )

Bean JDBC 3.1 Jar

Cách cấu hình trong Spring:

Để định cấu hình HSQLDB, chúng ta cần thêm chi tiết cấu hình trong application Context.xml với các thông tin khác về bean.

<beans xmlns="http://www.springframework.org/schema/beans"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xmlns:jd="http://www.springframework.org/schema/jdbc"
 xsi:schemaLocation="http://www.springframework.org/schema/beans
      http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
      http://www.springframework.org/schema/jdbc
      http://www.springframework.org/schema/jdbc/spring-jdbc-3.0.xsd">
 <!-- Below configuration has been added to enable in memory DB HSQLDB  -->
 <jd:embedded-database id="dataSource" type="HSQL">
	  <jd:script location="classpath:schema.sql"/>
	  <jd:script location="classpath:test-data.sql"/>
 </jd:embedded-database>

Ở đây giản đồ.s.s chứa chi tiết DB cần được tạo bởi HSQLDB.

CREATE TABLE JBT_MEM(ID VARCHAR(5),PAN_NUMBER  VARCHAR(10),ADDRESS VARCHAR(40),CITY VARCHAR(35),STATE VARCHAR(2),PINCODE integer);

Để đưa vào kịch bản DB test-data.sql mới được tạo sẽ được yêu cầu.

insert into JBT_MEM values('20','AABBAABB','Address','NY','AB',23500);
insert into JBT_MEM values('20','BGDBCBDB','Address','City','State',23500);

Nguồn dữ liệu được tạo ở trên có thể được sử dụng kết hợp giữa jdbctemplate và Hibernate.

Nguồn dữ liệu này có thể được tiêm trực tiếp vào lớp dao để làm việc với jdbctemplate.

 <bean id="SpringJdbcDao"  class="com.dao.SpringJdbcDaoImpl">
  <property name="dataSource" ref="dataSource"/>
 </bean>

Để làm việc với chế độ ngủ đông, sẽ cần thêm một cấu hình.

<bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
     <property name="dataSource" ref="dataSource"/>
     <property name="hibernateProperties">
       <props>
             <prop key="hibernate.dialect">org.hsqldb.jdbcDriver</prop>
             <prop key="hibernate.show_sql">true</prop>
       </props>
     </property>
  <property name="packagesToScan" value="com.beans"></property>
  <property name="mappingResources" value="JBTMem.hbm.xml"></property>
 </bean>

Để làm việc với chế độ ngủ đông, sẽ cần thêm một cấu hình.

<bean id="SpringHibernateDao"  class="com.dao.SpringHibernateDaoImpl">
  <property name="sessionFactory" ref="sessionFactory"/>
 </bean>

Bài viết gần đây

So sánh JAVA vs C++

Hôm nay trong bài viết này mình sẽ so sánh Java vs C++. Còn nếu bạn muốn đọc thêm về so sánh Java vs PHP hay Java với C# thì xem thêm tại đây:

Tính năng của Java

11 tính năng chính đóng một vai trò quan trọng trong sự phổ biến của ngôn ngữ Java. Các tính năng của Java còn được gọi là Java buzzwords.

Lịch Sử của JAVA – Ngôn ngữ Lập trình Phổ biến nhất thế giới

Java đã đi qua gần 25 năm lịch sử hình thành và phát triển. Theo chỉ số TOIBE Index thì Java hiện tại vẫn đang là ngôn ngữ Lập trình phổ biến nhất thế giới.

JAVA là gì? | JAVA DEV

Java là một ngôn ngữ lập trình và là một nền tảng mạnh mẽ. Cùng tìm hiểu kỹ hơn về Java với Java DEV

Tại sao xử lý một mảng được sắp xếp nhanh hơn xử lý một mảng chưa sắp xếp?

Tại sao xử lý một mảng được sắp xếp nhanh hơn xử lý một mảng chưa sắp xếp | Lập trình viên Java, Java DEV

Hướng dẫn chủ đề Java

Một Instance of Thread là một đối tượng giống như bất kỳ đối tượng nào khác trong Java và nó chứa các biến và...

Leave a reply

Please enter your comment!
Please enter your name here