web应用程序启动时启动HSQLDB

ISE14.7下IMPACT突然找不到下载线?别慌,可能是Vivado 2019.2惹的祸(附驱动冲突解决全流程) 本文详细解析了ISE14.7与Vivado 2019.2驱动冲突导致IMPACT无法识别Platform Cable下载线的问题,提供了从诊断到修复的全流程解决方案。通过清除冲突驱动、恢复原生驱动及环境隔离等技巧,帮助工程师高效解决这一常见故障。 阅读详情
mport java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;
import javax.servlet.ServletContext;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
/**
* @author zhoudong
* @Created on 2005-2-1
* @email:eclipse@sina100.com
*/
public class HSQLDBServletContextListener implements ServletContextListener {
    /*
     * (non-Javadoc)
     *
     * @see javax.servlet.ServletContextListener#contextInitialized(javax.servlet.ServletContextEvent)
     */
    public void contextInitialized(ServletContextEvent evt) {
        try {
            ServletContext context = evt.getServletContext();
            String params = "port=9001;silent=true;trace=false;database.0="
                    + context.getRealPath("/") + "/WEB-INF/tm/hsqldb/tmdb";
            org.hsqldb.Server server = new org.hsqldb.Server();
            server.putPropertiesFromString(params);
            server.setLogWriter(null);
            server.setErrWriter(null);
            server.start();
        } catch (Exception e) {
            System.err.println(e);
        }
    }
    /*
     * (non-Javadoc)
     *
     * @see javax.servlet.ServletContextListener#contextDestroyed(javax.servlet.ServletContextEvent)
     */
    public void contextDestroyed(ServletContextEvent arg0) {
        Connection conn = null;
        try {
            Class.forName("org.hsqldb.jdbcDriver");
            conn = DriverManager.getConnection("jdbc:hsqldb:hsql://localhost:9001",
                    "sa", "");
            Statement stmt = conn.createStatement();
            stmt.executeUpdate("SHUTDOWN;");
            stmt.close();
        } catch (Exception e) {
            //
        } finally {
            try {
                conn.close();
            } catch (Exception e) {
                //
            }
        }
    }
    public static void main(String[] args) {
    }
}

工程的web.xml加上这个listener就可以了。

一、简介:
hsql 数据库是一款纯Java编写的免费数据库,许可是BSD-style的协议,如果你是使用Java编程的话,不凡考虑一下使用它,相对其他数据库 来说,其体积小,才563kb。仅一个hsqldb.jar文件就包括了数据库引擎,数据库驱动,还有其他用户界面操作等内容。在Java开源世界里, hsql是极为受欢迎的(就Java本身来说),JBoss应用程序服务器默认也提供了这个数据库引擎。由于其体积小的原因,又是纯Java设计,又支持 SQL99,SQL2003大部分的标准,所以也是作为商业应用程序展示的一种选择。请到以下地址下载hsql: http://prdownloads.sourceforge.net/hsqldb/hsqldb_1_7_3_3.zip?download

二、使用hsql数据库:
1、hsql数据库引擎有几种服务器模式:常用的Server模式、WebServer模式、Servlet模式、Standlone模式、Memory-Only数据库。
2、最为常用的Server模式:
1)首先却换到lib文件夹下,运行java -cp hsqldb.jar org.hsqldb.Server -database.0 db/mydb -dbname.0 xdb
执行命令后,将会在db文件夹下创建一个数据库mydb,别名(用于访问数据库)是xdb,如果存在mydb数据库,将会打开它。
2)运行数据库界面操作工具:java -cp hsqldb.jar org.hsqldb.util.DatabaseManager
在Type 选项里选上相应的服务器模式,这里选择HSQL Database Engine Server模式;Driver不用修改;URL修改为jdbc:hsqldb:hsql://localhost/xdb (主要这里xdb就是上面我们设置的别名);user里设置用户名,第一次登录时,设置的是管理员的用户名,password设置密码。然后点击Ok。
3)第一次运行数据库引擎,创建数据库完毕。好了,你可以打开db文件夹,会发现里面多了几个文件。
mydb.properties文件:是关于数据库的属性文件。
mydb.script:hsql主要保存的表(这里按hsql的说法是Memory表,就是最为常用的),里面的格式都是文本格式,可以用文本查看,里面的语句都是sql语句,熟悉sql语句的话,你也可以手动修改它。每次运行数据库引擎的话都是从这里加载进内存的。
mydb.lck表示数据库处于打开状态。
其他的请参看hsqldb包里的手册。

3、WebServer模式和Server运行模式基本一样,只是支持了Http等协议,主要用于防火墙,默认端口是9001。启动Server,java -cp hsqldb.jar org.hsqldb.WebServer ...剩余的和上面的一致。

4、Servlet模式可以允许你通过Servlet容器来访问数据库,请查看hsqlServlet.java的源代码,和WebServer类似。

5、 另一个值得思考的模式是Standalone模式:不能通过网络来访问数据库,主要是在一个JVM中使用,那样的话,访问的速度会更加快。虽然 文档里面提到主要是用于开发时使用,但是我们可以假设一下,该方法不需要一个引擎类的东西,而类似于打开文件的方式,返回一个Connection对象:
Connection c = DriverManager.getConnection("jdbc:hsqldb:file:mydb", "sa", "");
将 会在当前目录找到mydb数据库相关文件,打开并返回一个Connection对象。该方式有点好处就是可以不使用引擎,在需要的时候操作数据。所以那 些对数据库不是特别有要求的,但又需要一个操作数据库的方式的话,可以使用这种方法。对于那些不想额外在数据库引擎花费金钱的话,可以使用这种方法。但是 不推荐使用该方法。记得Hibernate里SessionFactory可以使用openSession(Connecttion c)来获得一个Session对象的,因此,在测试或者实际应用的话都可以这样使用。

6、Memory-Only 数据库:顾名思义,主要是内存中使用,不用于保存数据。可以用于在内存中交换数据。

三、具体的链接与操作的话,和一般的JDBC操作一样。而相应的Server模式的话,连接地址主要你运行数据库界面操作工具时,在URL一栏时默认已经设好了,自己实习一下,对比其中参数。

这篇文章介绍大致内容很详细,不过也大都是从Hsql的帮助上翻译的,我有必要加入点新鲜的血液。
这篇文章美中不足的是缺少实战性,往往初学者第一步都走不出来,比如我。
我在实践中遇到的问题是打开数据库管理器怎么也连接不上数据库,总是说
java.sql.sqlException Socket create error
搞了一个晚上,到第二天早上清醒一下,想起来这个数据库应该在创建库之后,保持那个cmd窗口,在此过程中连接。

 
微信小程序如何转云开发 小程序转云开发 阅读详情

相关推荐

用 Coze 打造纯自动化 AI 情报助手

本文将引导您逐步构建一个简易的AI情报助手,从提示词到工作流,再到卡片消息,详细讲解了如何利用Coze平台开发自动化工具。过程简单易懂,何不亲自动手一试?如果您对此类内容感兴趣,敬请关注本作者。未来,我将带来更多精彩的AI工具教程,助您迅速掌握各类AI应用。在这个AI时代,让您领先一步。t=O83A2AGI.NET AI 教程 震撼!用 Coze 打造纯自动化 AI 情报助手震撼!

xinzhaobuxuan的博客 2531

HSQLDB 安装与使用

  HSQLDB是一个轻量级的纯Java开发的开放源代码的关系数据库系统,其体积小,占用空间小,使用简单,支持内存运行方式等特点。可以在 http://sourceforge.net/projects/hsqldb/files/ 下载最新的HSQLDB版本。我这里下载的是 HSQLDB 2.2.7 版本。下载完之后,把它解压到任一目录下,如 E:\hsqldb 下,完成安装工作。 Hsqld...

weixin_33801856的博客 646

免费大容量国外网盘测评:冷数据归档与rclone加密接入

云存储的本质,是通过对象存储、冗余编码和分层缓存,把本地磁盘容量问题转化为网络访问与数据管理问题。免费大容量国外网盘常以空间换用户规模或付费转化,容量政策、传输策略、协议支持和退出成本,往往比标称容量更决定长期可用性。支持 WebDAV、S3 兼容和命令行工具的服务,可接入 rclone 等自动化流程,再配合客户端加密与冷热分层,用于冷数据归档、老项目备份和家庭影像保存。理解带宽换算、单文件上限、保活机制与传输一致性后,评估话题型大容量网盘与专业向协议网盘,就能把免费空间纳入可靠存储层。围绕免费大容量国外网

weixin_31292729的博客 215

hsqldb启动命令

查询参数: java -cp hsqldb.jar org.hsqldb.server.Server –-help 启动sever: java -cp hsqldb.jar org.hsqldb.server.Server --database.0 file:…/data/xiaodb --dbname.0 xiaodb 启动客户端 java -cp hsqldb.jar org.hsqldb.util.DatabaseManagerSwing

qq_36929553的博客 592

Carla-UE4Editor导入RoadRunner地图文件(保姆级教程)

以Carla官网导入RoadRunner地图的标准文档为参考,里面增添了很多细节和注意事项,遇到问题的小伙伴过来看看吧。

DSK_981029的博客 1万+

四旋翼无人机控制算法实战:从PID到MPC的路径跟踪

本文深入探讨了四旋翼无人机控制算法的演进路径,从基础的PID控制到高级的MPC算法,详细解析了各类算法的原理、实现技巧及适用场景。通过实战案例对比分析,为开发者提供从算法选型到参数调优的全方位指导,助力提升无人机飞行控制的精度与稳定性。

weixin_29090917的博客 243

HSQLDB

import java.sql.Connection; import java.sql.DriverManager; import java.sql.Statement; import javax.servlet.ServletContext; import javax.servlet.ServletContextEvent; import javax.servlet.ServletCo

shendeguang的专栏 1912

【R语言】富集分析可视化代码(整理版)

分别介绍了如何使用DAVID在线分析工具对基因进行GO/KEGG功能富集分析、使用R ggplot包对获得的基因GO/KEGG功能富集结果进行可视化、使用R clusterProfiler包和R AnnotationHub包对基因进行GO/KEGG功能富集分析、OrgDb包制作以及结果可视化等。故,我重新整理了一波,并补充了可对多个分组的富集结果进行可视化以及富集结果绘制圈图等的代码。关注“在打豆豆的小潘学长”公众号,发送“富集分析3”获得完整代码包和演示数据。一、单组富集结果可视化。

weixin_54004950的博客 1万+

web应用程序启动时启动HSQLDB【转】

导读:   流行开源数据库hsql2005-05-11 jwsh1984   小巧的hsqldb2004-09-01 gojava   HSQLDB文档(一)2003-12-02 hoseheart   Hibernate:A Developer Notebook 第一章 第二节2004-12-24 zhuhj7505   HSQLDB2006-07-08 huangxx   更多内容..

维他命的学前班 415

Agile Modbus使用和学习笔记

i < len;这里仅仅需要提供获取函数即可,离散输入是只读类型i++) {return 0;只读类型寄存器i++) {return 0;i < len;

Car12 169

拿下华为性格测试!

华为性格测试指南

weixin_41171614的博客 5287

java代码和服务器同时启动,java – 如何在我的Web应用程序中启动和继续运行hsqldb在服务器模式?...

根据HSQLDB文档可能从Java代码启动数据库:因此,当Web应用程序启动时,您可以使用servlet加载数据库.步骤如下:>创建一个Servlet“InitDatabase”并将代码用于启动数据库的方法init()@Overridepublic void init() throws ServletException {super.init();try {System.out.printl...

weixin_39979617的博客 101

【微服务】SpringBoot 整合Kafka 项目实战操作详解

SpringBoot 整合Kafka 实战操作详解

congge 5573

hsql导入mysql_在测试过程中使用HSQL数据库

/***该类的职责是在WebApp启动时自动开启HSQL服务.*依然使用Server方式,不受AppServer的影响.**@authorfrank*@authorcalvin*/publicclassHsqlListenerimplementsServletContextListener{protectedstaticLoglogger=LogFactory.getLog(HsqlLis...

weixin_32591455的博客 179

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

HSQLDB的几种运行模式

    这些天在学习jasperReport用到了hsql,顺便也对于有一些小的了解。先看看别人怎么说他的几种运行模式,括号内是我的注明。       留内存模式 所有数据库表和索引都放在内存中,而且永远不会保存到磁盘上。在您发出为什么有人想要使用在应用程序终止时就会丢失的数据库这样的疑问之前,请先考虑为您可以使用标准 SQL 语句进行查询、排序、分组和更新的数据库数据拥有一块本地高速缓存。

youlianying的专栏 8460

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

主题:让Hsqldb随WebAPP一起启动

首先说一下hsqldb几个优点轻巧,只有600多K,运行速度非常快。结合Hibernate数据库无关的特性,非常适合在项目开发的时候使用。 作为单元测试数据库。单元测试的时候,启动HSQLDB的file模式,数据不存盘,可以保证测试原子性。 来回复制,随身携带。 不需要安装,使用非常方便。 稳定,而且支持的数据量足够大。 小型项目作为现场数据库使用,不需要安装Oracl

rayleigh_w的专栏 1413

HSQLDB简介

HSQLDB是一个纯Java的数据库,小巧方便,在做应用程序的demo时会带来很大的方便。我们可以从http://hsqldb.sourceforge.net/下载hsqldb,里面包括源代码,文档以及demo等等。 hsqldb.jar包 这个包位于/lib目录下包括一些组件和程序,可以用不同的命令来启动这些程序。hsqldb.jar中的组件:

suxiaoming2003的专栏 965

HSQLDB学习(2)

 Server模式 Server模式提供了最大的可访问性。在这种模式下,数据库引擎运行在一个JVM中,并且监听同一台机器上或网络上其他机器上程序的连接。几个不同的程序可以连接到服务并且取得和更新信息。应用程序通过HSQLDB JDBC驱动连接数据库。 根据客户端和服务器通信的协议不同,Server模式可以分为以下三种: Hsqldb Server: 这种模式是首选的并且是最快的。它使用hsql

向北航行 1275

java嵌入式数据库之hsqldb、derby、h2

简介 Hsqldb是一个纯java编写的数据库,具有标准的sql语法和java接口。体积小才563kb,仅仅一个hsqldb.jar就包括了数据库引擎,数据库驱动,还有其他用户界面操作等内容。Jboss应用程序服务器默认也提供这个数据库引擎。 Hsqldb有四种运行模式: 1、内存(Memory-Only)模式:所有数据都在内存中完成,不会实例化到文件,jdbc连接方法为jdbc:hsqld...

sumengnan的博客 1万+

HSQL入门(四)随webapp一起启动

Hsqldb的各种好处就不再多说了,今天我们谈谈如何让它在我们日常开发中给我们带来更多的便捷。就像标题所说的,让Hsqldb随WebAPP一起启动。比平时用的DB2、Oracle、SQLServer… …都要简洁方便许多,更重要从开发角度考虑Hsqldb的性能已经足够了。springside也是这么做的。   废话不多说了,现在开始:   我们借助Listener来实现此功能,先给出...

smmi的专栏 213

用Java进行基于浏览器的桌面应用程序开发(Browser-based desktop application development with java)

http://blog.terac.com/andy/e_329.html关于嵌入式网站服务器(Embedded web server):我这几天试用了Jetty和Tomcat。总以为Jetty很小呢,最适合做BBDA呢,结果发现软件包也很大了,另外很多功能不如Tomcat,Tomcat Embed 5.5由于使用Ecipse JDT,现在已经很小了(3M左右),而且标准,所以选了Tomcat E

iinel的专栏 2318

memcached和Grails,第2部分:将Memcached集成到Grails中

Grails是一个Web应用程序框架,它利用了Groovy的动态语法和Java平台的后端功能。 memcached是一种通用的分布式内存缓存系统,用于Web上一些流量最大的站点。 将两者结合使用,可以快速构建响应Swift且可扩展的Web应用程序。 在我对memcached和Grails的介绍的第二部分中,我将引导您完成将memcached集成到现有Grails应用程序中的过程。 首先,向...

cuxiong8996的博客 578
上一篇: Hsqldb简介和基本使用
下一篇: 使用hsqldb将常用数据库整合到应用程序中
SunnyJavaMoon
博客等级 码龄21年 20粉丝 36原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值