应用
在JUnit单元测试中,由于,很多时候没有真实数据库环境,所以,我们很自然的会借助内存数据库HSQLDB。内存数据库非常轻量级,当内存数据库关闭后,内存中的数据也随之消失。代码虽然简单,但还是贴出来,呵呵,供以后复制粘贴方便。
jdbcDriver in pom.xml of Maven:
<dependency>
<groupId>org.hsqldb</groupId>
<artifactId>hsqldb</artifactId>
<version>2.3.2</version>
</dependency>
package shuai.study.memorydb;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class MemoryDB {
private static Connection connection = null;
private static Statement statement = null;
private static PreparedStatement preparedStatement = null;
private static ResultSet resultSet = null;
// Load jdbcDriver
static {
try {
Class.forName("org.hsqldb.jdbcDriver");
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
// Get DB connection
public static Connection getConnection() {
if (connection == null) {
try {
connection = DriverManager.getConnection("jdbc:hsqldb:mem:mdb", "shuai", "123");
} catch (SQLException e) {
e.printStackTrace();
}
}
return connection;
}
// Get DB statement
public static Statement getStatement() {
if (connection == null) {
getConnection();
}
if (statement == null) {
try {
statement = connection.createStatement();
} catch (SQLException e) {
e.printStackTrace();
}
}
return statement;
}
// Execute SQL
public static void executeSQL(String sql) {
if (statement == null) {
getStatement();
}
try {
statement.executeUpdate(sql);
} catch (SQLException e) {
e.printStackTrace();
}
}
// Get resultSet
public static ResultSet executeQuerySQL(String sql) {
if (connection == null) {
getConnection();
}
try {
preparedStatement = connection.prepareStatement(sql);
resultSet = preparedStatement.executeQuery();
} catch (SQLException e) {
e.printStackTrace();
}
return resultSet;
}
// Print resultSet
public static void resultPrint(ResultSet resultSet) {
try {
int columnCount = resultSet.getMetaData().getColumnCount();
String columnValue = null;
while (resultSet.next()) {
for (int n = 1; n <= columnCount; n++) {
columnValue = resultSet.getString(n);
if (n == columnCount) {
System.out.println(columnValue);
} else {
System.out.print(columnValue + "\t");
}
}
}
} catch (SQLException e) {
e.printStackTrace();
}
}
// Close DB
public static void closeDB() {
try {
if (resultSet != null) {
resultSet.close();
}
if (preparedStatement != null) {
preparedStatement.close();
}
if (statement != null) {
statement.close();
}
if (connection != null) {
connection.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
MemoryDB.executeSQL("CREATE TABLE EMPLOYEE(ID INTEGER, NAME VARCHAR(20), SEX VARCHAR(10), TEAM VARCHAR(20))");
MemoryDB.executeSQL("INSERT INTO EMPLOYEE VALUES(1,'shuai', 'male', 'FMC')");
MemoryDB.executeSQL("INSERT INTO EMPLOYEE VALUES(2,'hellen', 'female', 'MUS')");
MemoryDB.executeSQL("INSERT INTO EMPLOYEE VALUES(3,'mery', 'female', 'SDM')");
MemoryDB.executeSQL("COMMIT");
ResultSet resultSet = MemoryDB.executeQuerySQL("SELECT * FROM EMPLOYEE");
MemoryDB.resultPrint(resultSet);
MemoryDB.closeDB();
}
}
分享到:
相关推荐
hsqldb数据库下载,很好用,简易的内存数据库,特别适合初学者
HSQLDB 是一个用Java编写的关系数据库管理系统。 其作为一个小型数据库,很是小巧。 它提供了一个快速轻量级)数据库引擎,该数据库引擎提供基于磁盘和内存的表。
hsqldb示例在内存中使用db,hsqldb的用法。
Hsqldb是一个开放源代码的JAVA数据库,其具有标准的SQL语法和JAVA接口,它可以自由使用和分发,非常简洁和快速。
1-版本以及系统配置jbpm版本3.2.3...jBPM默认使用的是内存数据库hsqldb|---deploy用来部署你的应用的包和资源|---designer这里是Eclipse插件,这样你就可以在图形界面来定义你的业务流程|---
hsqldb数据库下载,很好用,简易的内存数据库,特别适合初学者。
HSQLDB 是一个轻量级的纯Java开发的开放源代码的关系数据库系统。因为HSQLDB的轻量(占用空间小),使用简单,支持内存运行方式等特点,HSQLDB被广泛用于开发环境和某些中小型系统中。 HSQLDB的运行需要Java环境的...
本文介绍了开源的内存中的SQL数据库HSQLDB和XQuery。HSQLDB是一个用Java语言编写的可嵌入的数据库引擎。XQuery为生成XML或者HTML文档作为查询结果而设计的,因此不需要对查询结果进行后处理。从开发成本角度看,...
Hsqldb-java-连接 在Java编程中使用Hsql(内存数据库)数据库
在 Java 世界中,最流行的内存数据库测试方法是使用 H2 或 HSQLDB。 这些数据库运行良好,可以模拟一些数据库语法和功能,但与大多数模拟一样,这是肤浅的、不完善的,并没有涵盖重要的数据库功能。 In Memory ...
为了简化数据库操作,我们使用了内存数据库 HSQLDB。对这个简单的应用,省略了 DAO,直接在 Fa?ade 中通过 Spring 的 JdbcTemplate 操作数据库。最后,EmployeeMgmt 应用通过 Servlet 和 JSP 页面为用户提供前端界面...
为了简化数据库操作,我们使用了内存数据库 HSQLDB。对这个简单的应用,省略了 DAO,直接在 Façade 中通过 Spring 的 JdbcTemplate 操作数据库。最后,EmployeeMgmt 应用通过 Servlet 和 JSP 页面为用户提供前端...
hsqldb source code and document, it is the version 2.0 rc3. ...sqldb是一个非常著名的数据库,支持嵌入和client-server方式,支持内存模式,cached, text 3种表。 欢迎更多人研究这种优秀的开源数据库
项目是可运行的Myeclipse 6.5开发,所有的jar在项目的lib下,利用hibernate操作内存数据库 hsqlbd,次项目是比较经典的测试例子学习使用
尽管不如DB2功能强大,也不如MySQL流行,但HSQLDB(超音速SQL数据库)可以满足很大范围内Java应用程序的需要,因为它具有可扩展性,而且对内存/处理器的要求不高。超音速SQL数据库后来正式更名为HSQLDB,它是一类纯...