`

流行开源数据库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 ADO.Net Data Provider-开源

    HSQL 数据库引擎 ADO.Net 数据提供程序 100% 用 C# 编写。

    HSQLDB_TRAY_ICON:它是 HSQLDB 数据库的包装器。-开源

    该程序是 HSQLDB 数据库的包装器。 它允许配置、启动、停止和监视 HSQLDB 数据库,作为托盘图标留在系统托盘中。 它是在 Java 上开发的,因此它是独立于平台的。

    mondrian-data-foodmart-hsql.rar

    Mondrian是一个用Java写成的ROLAP引擎,是开源项目Pentaho的一部分。它实现了 MDX语言、XML解析、JOLAP规范。它从SQL 和其它数据源读取数据并把数据聚集在内存缓存中,然后经过Java API用多维的方式对结果进行展示,...

    支持多数据库的ORM框架ef-orm.zip

    支持Oracle、MySQL、Postgres、MSSQL、GBase、SQLite、HSQL、Derby等数据库。除了API方式下的操作能兼容各个数据库之外,就连SQL的本地化查询也能使之兼容。JMX动态调节 可以用JMX查看框架运行统计。框架的debug...

    HSQLDB Manager-开源

    HSQLDBManager是管理HSQL数据库的工具。 它的外观应类似于已知的DB-Manager(phpMyAdmin,DBVisualiser ...)。

    HSQLDB 中文文档

    Hsqldb 是一个优秀的轻量级开源的纯Java SQL 数据库,为了方便Hsqldb 在国内推广 我们将2007/8/28 发布的用户指南翻译成中文,不过我们建议有能力的读者阅读英文原文。 大家可以从Hsqldb 官方网站(http://hsqldb.org...

    Java DB CSV Import:从 csv、json 或 xml 文件导入数据库数据的 Java 工具-开源

    从 csv、json 或 xml 文件导入数据库数据的 Java 工具。 支持 Oracle DB、MySQL DB、PostgreSQL DB、Firebird DB、SQLite DB、Derby DB 和 HSQL DB。 此工具不包含所需的 db 驱动程序,但只需下载和配置一次即可。

    PMM-Lab:KNIME的预测性微生物建模插件-开源

    它由三个部分组成:•KNIME节点库(称为PMM-Lab),•“标准”工作流库•HSQL数据库,用于存储实验数据和微生物模型。 总的来说,这些组件旨在简化和标准化实验性微生物数据的统计分析以及预测性微生物模型(PMM)...

    Human Commander-开源

    HumanCommander是一种自然语言查询评估器,它允许用户使用以用户自己的自然口头语言进行的查询来输入多媒体命令。 用Java编写,它使用hsql数据库。

    sql-parser:C ++SQL解析器。 从SQL语句构建C ++对象结构

    在2015年3月,我们还撰写了一篇简短的论文,概述了一些开发细节以及如何将其集成到我们的数据库Hyrise中。 你可以在找到论文。 用法 注意:您也可以找到详细的使用说明。 要求: gcc 5+(或clang 5+) 要在您...

    Five Stone-开源

    这五个游戏是JAVA Client / Server模式的一个应用程序,该程序使用JAVA swing,socket和多线程技术,并使用hsql作为其数据库。

    java8看不到源码-hsqldb:带有HSQLDB的Docker容器

    数据库 SQL工具 让它简短 简而言之,使用此映像在您的开发环境中启动和停止一个简单的 HSQLDB。 $ docker run -d -p 9001:9001 --name hsqldb blacklabelops/hsqldb 将运行可通过 jdbc URL 访问的 hsqldb:jdbc:...

    jcdbrowser:用于管理经典CD收藏的浏览器-开源

    jCDBrowser是一个基于Java的程序,用于使用完全集成的hsql数据库管理带有古典音乐的CD的集合。

    Plazma-开源

    Plazma ERP+CRM 解决方案基于 Java 编写,基于 Spring,Hibernate 使用 Oracle、PostgreSQL、MySQL、Firebird、HSQL 数据库。

    JavaUniversalDatabaseAdministratorTool-开源

    judat是一个独立于系统的数据库管理应用程序,用于管理与jdbc兼容的数据库。 judat具有功能齐全的用户友好GUI! 现在支持MySQL,HSQL和某些ODBC(仅Windows)

    OpenFencing:击剑比赛的管理-开源

    OpenFencing的目标是为击剑俱乐部提供一个跨平台的应用程序,使他们可以管理比赛。 池和直接消除面板很容易创建。 所有数据都存储在hsql或mysql数据库中。

    SQLExecutor: A Simple JDBC framework-开源

    Jeff Smith 的一个简单... 支持 Oracle、mySQL、HSQL 和 PostgreSQL——可以轻松扩展到新数据库。 请参阅此处的文章(最初发布在 Developer.com 上):http://softtechdesign.com/products/SQLExecutor/SQLExecutor.htm

    SQL to Java Code Generator-开源

    SQL2JAVA是一个简单,实用且功能强大的代码生成器。 它将任何关系模式映射到专用于访问数据库模式的Java API。 它支持Oracle,SQLServer,PostgreSQL,MySQL,Sybase,HSQL等... 2分钟安装/试用...

Global site tag (gtag.js) - Google Analytics