`

流行开源数据库hsql

阅读更多
前言:该文章只是简单介绍一下hsql的入门内容,如果想仔细了解的话,参考官方帮助文档最为有用。
    修正添加了第四点。

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

二、使用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一栏时默认已经设好了,自己实习一下,对比其中参数。

四、实例:
在Windows下使用:
        由于我们经常使用的是hibernate等orm工具作为数据层,所以很多时候对底层的sql都不再关注。通常我们都交由hibernate等工具来替我们管理数据库连接等内容,经常我们只需要学会运行数据库就足够了。
       为了简化操作,我们可以创建一个bat脚本(runhsql.bat)该脚本只需要和hsql.jar在一起,我们通常使用的是server模式:
      (1)runhsql.bat的内容:
          start  java  -cp  hsqldb.jar  org.hsqldb.Server
      (2)server.properties
           server.database.0=db/appfuse1
           server.dbname.0=appfuse1
           server.database.1=db/appfuse2
           server.dbname.1=appfuse2
     运行runhsql.bat之后,将会在db文件夹下创建两个数据库文件,别名为appfuse1和appfuse2
相应的例子:hibernate.xml文件简单配置:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC
        "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
        "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
    <session-factory>
        <property name="hibernate.connection.driver_class">org.hsqldb.jdbcDriver</property>
        <property name="hibernate.connection.url">jdbc:hsqldb:hsql://localhost/appfuse1</property>
        <property name="hibernate.connection.username">sa</property>
        <property name="hibernate.dialect">org.hibernate.dialect.HSQLDialect</property>
      
        <property name="show_sql">true</property>
      
        <!-- Enable Hibernate's automatic session context management -->
        <property name="current_session_context_class">thread</property>
      
        <!-- Drop and re-create the database schema on startup -->
        <property name="hbm2ddl.auto">create</property>
    </session-factory>
</hibernate-configuration>      
分享到:
评论

相关推荐

    开源数据库软件hsqldb

    博文链接:https://newdebug.iteye.com/blog/80868

    hsql数据库详细教程

    HSQL(HyperSQL)数据库是一款轻量级、开源的Java数据库管理系统,适用于各种项目,尤其在Java开发环境中广受欢迎。它的特点是体积小巧,仅一个jar文件即可包含所有必需组件,如数据库引擎、驱动程序以及用户界面...

    HSQL数据库下载

    HSQL数据库,全称为HyperSQL Database,是一款轻量级、高性能、完全开源的Java数据库管理系统。它被设计为一个嵌入式数据库,适用于各种应用程序,同时也支持客户端/服务器模式,可以作为独立的数据库服务器使用。...

    hsql-file数据库的java简单调用实现

    HSQLDB是一种轻量级、开源的关系型数据库管理系统,它支持内存模式和文件模式。在文件模式下,数据库的数据和元数据存储在磁盘文件中,这使得数据在数据库服务关闭后仍能持久化。 描述中提到,此实现是基于JDK 1.6...

    Spring数据库访问(HSQL)(四)

    HSQL数据库则是一个轻量级、高性能的开源关系型数据库,常用于测试和快速原型开发。 首先,我们需要理解Spring如何配置数据源。在Spring应用中,数据源是连接到数据库的关键组件。通常,我们可以通过XML配置或Java...

    有关hsql处理文本数据库的笔记

    HSQL(HyperSQL)是一个开源的关系型数据库管理系统,它支持内存模式和文件模式,能够处理文本格式的数据,如CSV(逗号分隔值)文件。在本篇笔记中,我们将探讨如何使用HSQL处理文本数据库,特别是如何导入和操作CSV...

    收集的全部HSQL DataBase资料(HSQL DataBase-关于Java 的纯数据库)

    HSQL Database,全称为HyperSQL Database,是一款轻量级、高性能、开源的SQL关系型数据库管理系统,特别适合于Java应用程序。这款数据库系统以其简洁的API、快速的性能和全面的SQL支持,在Java开发环境中得到了广泛...

    HSQL数据库2.2.5

    HSQL数据库,全称为HyperSQL Database,是一款开源的、轻量级的Java数据库管理系统,尤其适用于内存模式、单机模式以及分布式多机环境。HSQLDB 2.2.5是其一个重要的版本,提供了丰富的功能和优化,使得它在各种应用...

    HSQL源代码

    《深入理解HSQL源代码与Eclipse环境搭建》 HSQLDB,全称为HyperSQL Database,是一款...通过Eclipse这样的集成开发环境,我们可以更高效地进行源码分析、调试和测试,从而更好地利用HSQLDB这一强大的开源数据库系统。

    数据库 jdbc 驱动大全(oracle,sqlserver,sqlserver2005,mysql,hsql) 下载

    HSQLDB(HyperSQL)是一个开源的关系型数据库管理系统,其JDBC驱动使得Java程序可以轻松地与HSQLDB进行交互。HSQLDB适用于测试环境,因为它可以快速启动且不需要额外的数据库服务器。其JDBC驱动兼容JDBC 4.2规范,...

    hibernate中所有数据库方言

    - **HSQL Dialect**:用于Hypersonic SQL(HSQLDB)数据库,一个轻量级的开源数据库。 #### H2 Database - **H2 Dialect**:针对H2数据库系统,这是一个内存数据库,也支持磁盘存储。 #### Ingres - **Ingres ...

    hsql数据转移mysql

    1. **HSQL数据库**:HSQLDB(HyperSQL Database)是一款轻量级、开源的关系型数据库管理系统,主要用于Java应用程序。它支持嵌入式和服务器模式,提供SQL标准的兼容性,并且可以存储数据为内存或磁盘格式。 2. **...

    HSQL ADO.Net Data Provider-开源

    总结来说,HSQL ADO.NET数据提供程序是一个开源项目,它实现了.NET与HSQL数据库之间的桥梁,让开发者能够充分利用.NET框架的同时,享受开源数据库带来的优势。通过深入理解和运用这个项目,开发者可以更便捷地进行...

    用maven构建SpringMVC+JPA+Hibernate+Hsql+jetty的web项目

    5. Hsql:Hsql是一个轻量级的关系型数据库管理系统,常用于开发和测试环境中。它可以运行在内存中,也可以持久化到磁盘。由于其小巧、快速和易于使用的特点,它常常被用来作为Java应用的测试数据库。 6. Jetty:...

    JDBC驱动包(SQLSERVER ORACLE MYSQL HSQL)

    Oracle数据库是全球最流行的关系型数据库之一,由甲骨文公司开发。Oracle数据库支持分布式数据库、ACID事务、多版本并发控制等高级特性。Oracle JDBC驱动分为 Thin 和 Thick两种类型,Thick驱动包含完整的Oracle...

    hsql及其官方说明书

    HSQldb,全称为HyperSQL Database,是一个完全用Java语言编写的开源关系型数据库管理系统。它的设计目标是提供一个轻量级、高性能、易于使用且完全符合SQL标准的数据库解决方案。HSQldb适用于各种应用场景,从小型...

Global site tag (gtag.js) - Google Analytics