一、简介:
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­>
</listener>
这样在启动web容器的时候,同时启动了hsqldb,关闭容器的时候同时也shutdown掉hsqldb。
分享到:
相关推荐
USE CC; ``` 接下来,我们需要创建一个表结构来匹配`cc.csv`的数据。假设这个文件包含列`id`, `name`, 和 `description`。我们创建一个名为`Table1`的表: ```sql CREATE TABLE Table1 ( id INT, name VARCHAR...
GeoTools 是一个开源的 Java 库,专门用于处理地理信息系统(GIS)的数据。它提供了丰富的接口和类,能够处理各种地理空间数据格式,包括 Shapefile。在本项目中,我们利用 Gradle 这个现代的构建工具来管理依赖并...
epsg对照表 * EPSG HSQL Plugin: will unpack an hsql database containing the official epsg database into a temp directory, a great solution for desktop applications. * EPSG WKT Plugin: uses an internal...
* 自定义全局通用操作:支持全局通用方法注入(Write once, use anywhere) * 内置代码生成器:采用代码或者 Maven 插件可快速生成 Mapper 、Model 、Service 、Controller 层代码,支持模板引擎,更有超多自定义...
MybatisPlus 支持多种数据库,包括 MySQL、MariaDB、Oracle、DB2、H2、HSQL、SQLite、PostgreSQL、SQLServer 等。 5. 内置插件 MybatisPlus 内置了多种插件,包括: * 内置分页插件:基于 MyBatis 物理分页,...
#hibernate.connection.url jdbc:hsqldb:hsql://localhost #hibernate.connection.url jdbc:hsqldb:test ## H2 (www.h2database.com) #hibernate.dialect org.hibernate.dialect.H2Dialect #hibernate.connection....
DatabaseManager.DB.sharkdb.Connection.Url="jdbc:hsqldb:F:/workflow/sksrc/source/shark/output/Shark/db/hsql/hsql" ## Database user name. All connection are allocated by this user. DatabaseManager.DB....
10. 支持多种数据库:MyBatisPlus支持MySQL、MariaDB、Oracle、DB2、H2、HSQL、SQLite、Postgre、SQLServer等多种数据库。 11. 内置性能分析插件:MyBatisPlus可输出Sql语句以及其执行时间,建议开发测试时启用该...
-- Use a URL like 'jdbc:hsqldb:hsql://localhost:9001' if you want to connect to a ... --> 通过以上配置,Tomcat服务器就可以支持JMS了。 本篇文章提供了在Tomcat下应用JMS的详细实现方法和配置步骤,...
USE `mybatis_plus`; CREATE TABLE `user` ( `id` bigint(20) NOT NULL COMMENT '主键ID', `name` varchar(30) DEFAULT NULL COMMENT '姓名', `age` int(11) DEFAULT NULL COMMENT '年龄', `email` varchar(50) ...
Not Using Commons Logging ................................................................... 12 Using SLF4J ..............................................................................................
Not Using Commons Logging ................................................................... 12 Using SLF4J ..............................................................................................