web.xml
============================================
<context-param>
<param-name>hsql.dbPath</param-name>
<param-value>/apps/db/</param-value>
</context-param>
<context-param>
<param-name>hsql.dbName</param-name>
<param-value>mydb</param-value>
</context-param>
<context-param>
<param-name>hsql.port</param-name>
<param-value>9999</param-value>
</context-param>
<listener>
<listener-class>
cn.scorpionsoft.distributor.HSQLDBStartListener
</listener-class>
</listener>
============================================
HSQLDBStartListener.java
package cn.scorpionsoft.distributor;
import org.hsqldb.Server;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
import java.io.File;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;
/**
* 自动开启 HSQLDB 服务
*
* @author 抽支烟
*
*/
public class HSQLDBStartListener implements ServletContextListener {
/**
* 初始化
*/
public void contextInitialized(ServletContextEvent sce) {
String dbName = sce.getServletContext().getInitParameter("hsql.dbName");
String path = sce.getServletContext().getInitParameter("hsql.dbPath");
int port = -1;
try {
port = Integer.parseInt(sce.getServletContext().getInitParameter(
"hsql.port"));
} catch (Exception e) {
port = 9999;
}
if (dbName == null || dbName.equals("")) {
System.out
.println("Cant' get hsqldb.dbName from web.xml Context Param");
return;
}
File dbDir = new File(path);
if (!dbDir.exists()) {
if (!dbDir.mkdirs()) {
System.out.println("Can not create DB Dir for Hsql:" + dbDir);
return;
}
}
if (!path.endsWith("/")) {
path = path + "/";
}
File scriptFile = new File(path + dbName + ".script");
File propertiesFile = new File(path + dbName + ".properties");
if (propertiesFile.exists()) {
this.startServer(path, dbName, port);
} else {
System.out
.println("Connect failed:Connect Hsqldb error or database files not exits!");
}
}
/**
* 启动 Hsqldb 服务的方法。
*
* @param dbPath
* 数据库路径
* @param dbName
* 数据库名称
* @param port
* 端口号
*/
private void startServer(String dbPath, String dbName, int port) {
Server server = new Server();// 它可是hsqldb.jar里面的类啊。
server.setDatabaseName(0, dbName);
server.setDatabasePath(0, dbPath + dbName);
if (port != -1) {
server.setPort(port);
}
server.setSilent(true);
server.start();
System.out.println("HSQLDB started...");
}
/**
* Listener 销毁方法,在 Web 应用终止的时候执行"shutdown"命令关闭数据库.
*/
public void contextDestroyed(ServletContextEvent arg0) {
Connection conn = null;
try {
Class.forName("org.hsqldb.jdbcDriver");
conn = DriverManager.getConnection(
"jdbc:hsqldb:hsql://localhost:9999/mydb", "sa", "");
Statement stmt = conn.createStatement();
stmt.executeUpdate("SHUTDOWN;");
} catch (Exception e) {
;
}
}
}
分享到:
相关推荐
hsql:一种免费的跨平台的数据库系统 E:\hsqldb:表示是在dos 命令窗口下面 1.4. 参考信息 doc\guide\guide.pdf 2. HSQL 2.1. HSQL 运行工具 java -cp ../lib/hsqldb.jar org.hsqldb.util.DatabaseManager 注意...
HSQL是一个用java语言写的微型数据库,其大小在800k左右。麻雀虽小,但五脏俱全,数据库该有的功能他都有。同样是小型数据库,它要不ACCESS好的多,因为他有JDBC包,而且JDBC包和数据库实体是同一个文件,这就是说...
使用hsql的文件存储的java代码简单实现,用jdk1.6,maven管理。使用时需要首先在本地建立hsql文件型数据库。
HSQLDB is a relational database engine and a set of tools written in Java. The file index.html in this directory contains the list of directories with their contents. Documentation and license ...
收集的全部HSQL DataBase资料(HSQL DataBase-关于Java 的纯数据库)
如何使用hsql数据库
HSQL数据库的安装使用.从下载,到部署系统一系列的操作清晰可见.千万不要跳过步骤.一步一步操作.
hsql数据库,体积最小的数据库,使用最方便的数据库,不用安装,解压就能用,携带方便
Hsqldb-java-连接 在Java编程中使用Hsql(内存数据库)数据库
HSQL数据库下载,纯java数据库,运行速度快,体积小。
hsqldb.jar HSQL数据库 ---------------------------------------------------------- mysql-connector-java-5.1.6-bin.jar Mysql数据库 ---------------------------------------------------------- sybase.jar ...
经典的java小型数据库,可以内存、单机、多机使用,非常棒
NULL 博文链接:https://taink.iteye.com/blog/707030
ext结合内存数据库HSQL工程事例,ext结合内存数据库HSQL工程事例
hsql数据库详细教程.pdf
数据库hsql数据转移给mysql,包括本人的操作手册
hsql数据库是一款纯Java编写的免费数据库,许可是BSD-style的协议。 相对其他数据库来说,其体积小,才563kb。 仅一个hsqldb.jar文件就包括了数据库引擎,数据库驱动,还有其他用户界面操作等内容
首先说一下hsqldb几个优点 <br> 1. 轻巧,只有600多K,运行速度非常快。... 完整的myeclipse工程 包括所需jar包 基于web环境 通过web工程的启动来启动数据库服务器 还有就是~!源码中的注释很详细。
提供 数据库jdbc 驱动 下载; 包括: Oracle, sqlserver2000, sqlserver2005 ,mysql ,hsql等主流数据库驱动包
hsql源码及在eclipse下建立其工程