HSQL入门_js 数据库

HSQL入门_js 数据库HSQLDBHibernateSQLServerJDBCWeb 一、简介: hsql数据库是一款纯Java编写的免费数据库,许可是BSD-style的协议。 相对其他数据库来说,其体积小,才563kb。 仅一个hsqldb.jar文件就包括了数据库引擎,数据库驱动,还有其他用户界面操作等内容。 下载地址:http://hsqldb.org/二、使用hs

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

一、简介: 
hsql数据库是一款纯Java编写的免费数据库,许可是BSD-style的协议。 
相对其他数据库来说,其体积小,才563kb。 
仅一个hsqldb.jar文件就包括了数据库引擎,数据库驱动,还有其他用户界面操作等内容。 
下载地址:http://hsqldb.org/

二、使用hsql数据库: 
1、hsql数据库引擎有几种服务器模式:常用的Server模式、WebServer模式、Servlet模式、Standlone模式、Memory-On­ly数据库。

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 
数据库:顾名思义,主要是内存中使用,不用于保存数据。可以用于在内存中交换数据。

上面是关于hsqldb的一些基本信息的介绍,可以看到它的一些优势和特性。 
我们可以把hsqldb内置在web程序中,除考虑Standalone模式外,最好是采用最为常用的Server模式。 
那么Server模式如何和web程序合理搭配使用呢。 
可以采用两种方式: 
1)采用上面提到的方法,运行java -cp hsqldb.jar 
org.hsqldb.Server -database.0 db/mydb -dbname.0 xdb 
来启动db,通过设置的URL:jdbc:hsqldb:hsql://localhost/xdb 
以达到在程序中访问hsql数据库的 
(注:设置URL等信息,可以通过hibernate来配置,例如: 
hibernate.dialect org.hibernate.dialect.HSQLDialect 
hibernate.connection.driver_class org.hsqldb.jdbcDriver 
hibernate.connection.username sa 
hibernate.connection.password 
hibernate.connection.url jdbc:hsqldb:hsql://localhost/xdb ) 
2)为了省去第一种方法的琐碎,可以在启动web容器的过程中同时启动hsqldb。具体做法如下:编写一个有关hsql的Listener类,扩展javax­.servlet.ServletContextListener,可以在配置文件中设置dbPath、dbName、port等等hsqldb的信息,启动h­sqldb。 
在web.xml中配置 
<listener>

<listener-class>com.iplan.portal.framework.web.HsqlListener</listener-class&shy;> 
</listener> 
这样在启动web容器的时候,同时启动了hsqldb,关闭容器的时候同时也shutdown掉hsqldb。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/190751.html原文链接:https://javaforall.net

(0)
上一篇 2026年2月14日 下午6:22
下一篇 2026年2月14日 下午7:01


相关推荐

  • 自学计算机能学会吗(爬虫啥意思)

    大家好,我是小林。我之前遇到一个很奇怪的读者,他的头像是电影《V字仇杀队》里的面具。感觉上去是一个黑客爱好者,不是一个好惹的家伙,小林看了瑟瑟发抖。结果,他来了这么一句,「哥哥,在吗?」我头顶瞬间冒出一万个问号,怎么跟头像冷酷的感觉完全相反。只听过有的读者叫我小林哥,但是还真没遇到过直接称呼哥哥的,能说出这个称呼的话,感觉对方年纪不大。然后,他请教我关于kaliLinux安装失败的问题要怎么解决,我没有安装过,所以我也没办法解决他的问题,就让他自己去网上搜搜看看。然后,他还是没解决,

    2022年4月13日
    34
  • Android hybrid_android混合开发

    Android hybrid_android混合开发关于混合开发常问道的问题:Android如何嵌套h5页面?h5一般调用哪些Android哪些接口功能?Android如何调用网页(js)功能?问题1.ndroid如何嵌套h5页面答案:当我们用vue开发完项目,执行nmprunbuild打包生产dist目录,如何嵌套在Android框架中创建网页存放文件夹,在Android工程res下面添加assets文件夹,把dist目录内容拷贝到assets下。找到Android项目中.xml布局文件,添加webview组件及设置web

    2026年2月14日
    4
  • 按位取反怎么运算_补码取反加一

    按位取反怎么运算_补码取反加一读本文前请首先搞懂“反码”,“取反”,“按位取反(~)”,这3个概念是不一样的。取反:0变1,1变0反码:正数的反码是其本身,对于负数其符号位不变其它各位取反(0变1,1变0)按位取反(~):这将是下面要讨论的。“~”运算符在c、c++、java、c#中都有,之前一直没有遇到这个运算符。要弄懂这个运算符的计算方法,首先必须明白二进制数在内存中的存放形式,二

    2022年8月15日
    10
  • pycharm安装TensorFlow的体会

    pycharm安装TensorFlow的体会本方法无需下载 anaconda1 官网安装 python 编译器 需 3 7 以上 2 官网安装 pycharm 配置环境 3 TensorFlow 安装时的方法 1 pycharm 的界面 file settings project xx pythoninterp 有一个加号 availablepac 的地方可以搜索 TensorFlow 下载问题 会加载超时 Readtimedout 2 Windows 键 R 搜索 cmda 直接 pipinstallte

    2026年3月27日
    3
  • Vue CLI 脚手架

    Vue CLI 脚手架VueCLI 是一个基于 Vue js 进行快速开发的完整系统 使用 Vue 脚手架之后我们开发的页面将是一个完整系统 项目 前端系统

    2026年3月19日
    2
  • 大模型之AI Agents(智能体)(2)

    大模型之AI Agents(智能体)(2)

    2026年3月15日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号