`

hsqldb 源码剖析

阅读更多
hsqldb,一个只有700多k的小型数据库.

内嵌支持JDBC驱动与数据库引擎.

Server模式启动流程:


org.hsqldb.Server.java
public static void main(String[] paramArrayOfString)
  {
    //获取并读取 server.properties 文件,若没有取默认
    String str = FileUtil.getDefaultInstance().canonicalOrAbsolutePath("server");
    HsqlProperties localHsqlProperties1 = ServerConfiguration.getPropertiesFromFile(str);
    HsqlProperties localHsqlProperties2 = (localHsqlProperties1 == null) ? new HsqlProperties() : localHsqlProperties1;
    HsqlProperties localHsqlProperties3 = null;
    //获取main参数数组,加入 server.properties.保存到HsqlProperties对象.
    try
    {
      localHsqlProperties3 = HsqlProperties.argArrayToProps(paramArrayOfString, "server");
    }
    catch (ArrayIndexOutOfBoundsException localArrayIndexOutOfBoundsException)
    {
      printHelp("server.help");
      return;
    }
    if (localHsqlProperties3 != null)
    {
      if (localHsqlProperties3.getErrorKeys().length != 0)
      {
        printHelp("server.help");
        return;
      }
      localHsqlProperties2.addProperties(localHsqlProperties3);
    }
    
    //可略过
    ServerConfiguration.translateDefaultDatabaseProperty(localHsqlProperties2);
    ServerConfiguration.translateDefaultNoSystemExitProperty(localHsqlProperties2);
    
    //创建Server,并设置属性文件.主要分配serverid.取默认协议.
    Server localServer = new Server();
    try
    {
      localServer.setProperties(localHsqlProperties2);
    }
    catch (Exception localException)
    {
      localServer.printError("Failed to set properties");
      localServer.printStackTrace(localException);
      return;
    }
    //输出初始化信息
    localServer.print("Startup sequence initiated from main() method");
    if (localHsqlProperties1 != null)
    {
      localServer.print("Loaded properties from [" + str + ".properties]");
    }
    else
    {
      localServer.print("Could not load properties from file");
      localServer.print("Using cli/default properties only");
    }
    //启动Server.
    localServer.start();
  }


配置文件内容server.properties
server.remote_open=false
server.database.0=file:\\d:\\hsqldb\\data/dbfile
server.dbname.0=dbname
server.no_system_exit=false
server.restart_on_shutdown=false
server.address=127.0.0.1
server.port=12345
server.silent=true
server.trace=false


启动Server命令
java -cp d:\hsqldb\lib\hsqldb.jar org.hsqldb.Server


//启动服务器线程
this.serverThread = new ServerThread(this, "HSQLDB Server ");
this.serverThread.start();





分享到:
评论

相关推荐

    hsqldb使用(转载)

    HSQldb是一个轻量级的关系型数据库管理系统,特别适合用于系统演示、开发和测试环境。它的特点是快速、灵活且易于使用。HSQldb支持多种运行模式,满足不同场景的需求。 1. **数据库实例创建** 创建HSQldb数据库...

    HSQLDB

    由于HSQLDB是开源的,开发者可以深入研究其源码,理解数据库的内部工作原理,如查询解析、执行计划生成、事务管理等,这对提升数据库相关的技术能力非常有帮助。 总之,HSQLDB作为一个轻量级、高性能的数据库,广泛...

    hsqldb-2.2.8数据库

    **HSQldb 2.2.8 数据库详解** HSQldb(HyperSQL Database)是一款高效、轻量级且开源的Java数据库管理系统,它在IT领域中被广泛应用于开发、测试以及小型应用环境。HSQldb完全用Java编写,因此具有良好的跨平台性,...

    开源数据库软件hsqldb

    HSQldb的源码开放,开发者可以深入了解数据库的实现机制,这对于学习数据库设计和优化非常有帮助。同时,HSQldb支持多种管理工具,如SQuirreL SQL Client、DBVisualizer等,方便用户进行数据库管理和维护。 总之,...

    HSQLDB快速连接数据库

    ### HSQLDB快速连接数据库 #### 一、HSQLDB简介与特点 HSQLDB(HyperSQL Database)是一款优秀的轻量级开源纯Java SQL数据库管理系统。它被设计为易于集成到现有的Java应用环境中,尤其适合那些对性能和资源消耗有...

    hsqldb 2.25

    **HSQldb 2.25 知识点详解** HSQldb,全称为HyperSQL Database,是一款开源、轻量级、嵌入式的关系型数据库管理系统。它支持标准的SQL语法,包括SQL-92和SQL:2003,且在Java环境中运行,无需依赖外部操作系统服务。...

    hsqldb-2.5.0.jar

    hsqldb数据库下载,很好用,简易的内存数据库,特别适合初学者。

    hsqldb的最新版本

    HSQldb,全称HyperSQL Database,是一款开源的、轻量级的关系型数据库管理系统,尤其适合于嵌入式应用和开发测试环境。HSQldb完全用Java编写,因此具有跨平台性,能在任何支持Java的环境中运行,包括Windows操作系统...

    hsqldb-lib.zip

    《HSQldb与Java数据库连接详解》 HSQldb(HyperSQL Database)是一款开源、轻量级、嵌入式的关系型数据库管理系统,广泛应用于Java应用程序中。它支持SQL标准,提供单用户和多用户模式,并且可以运行在内存中或磁盘...

    HSQLDB 1.8.0

    《HSQLDB 1.8.0:轻量级数据库引擎的深度剖析》 HSQLDB,全称为HyperSQL Database,是一款开源、轻量级、高性能的关系型数据库管理系统,广泛应用于嵌入式系统和测试环境。HSQLDB 1.8.0是该数据库引擎的一个重要...

    HSQLDB中文帮助文档

    ### HSQLDB中文帮助文档知识点总结 #### 一、HSQLDB概述 - **定义**:HSQLDB(HyperSQL Database)是一款轻量级、开源的纯Java SQL数据库管理系统。它能够作为嵌入式数据库使用,也可以作为一个独立的服务器运行。 ...

    hsqldb jdbc driver

    hsqldb jdbc driver适合于hsqldb

    hsqldb demo

    **HSQldb 概述** HSQldb,全称 HyperSQL Database,是一个开源、轻量级、完全Java编写的数据库管理系统。它支持多种数据库模式,包括纯内存储存、文件系统存储以及网络服务器模式,使其在多种场景下都能发挥效用。...

    hsqldb包和使用说明

    HSQldb是一个开源的、轻量级的、嵌入式的Java数据库引擎,常用于开发测试环境和小型应用程序。它的全称是HyperSQL Database,能够支持SQL标准,包括SQL:2011。HSQldb因其小巧、快速和易用的特点,在Java开发中尤其受...

    <转>HSQLDB 安装与使用

    1. **下载**: 首先,你需要从HSQLDB的官方网站或者通过Git仓库获取最新的源码或二进制发行版。下载完成后,解压缩文件到你选择的目录。 2. **运行**: HSQLDB提供了命令行界面和一个简单的图形用户界面。在命令行中...

    hsqldb-2.3.3.zip

    《HSQldb 2.3.3:轻量级数据库引擎深度解析》 HSQldb,全称为HyperSQL Database,是一款开源、纯Java语言编写的轻量级关系型数据库管理系统,广泛应用于测试环境、嵌入式系统以及小型应用中。HSQldb 2.3.3是其稳定...

    hsqldb相关几个文件

    标题 "hsqldb相关几个文件" 提到的是与HSQldb相关的压缩包资源,HSQldb是一个开源的关系型数据库管理系统,特别适用于Java应用程序。描述中提及的有两个zip文件:hsqldb_1_8_0_10.zip 和 hsqldb-mini.zip,以及一个...

Global site tag (gtag.js) - Google Analytics