amos_tl 发表于 2013-1-14 23:43:00

HSQLDB 使用

1. 服务器模式

应用场景:
数据库服务器

应用步骤:

1) 启动HSQLDB Server
- e:/hsqldb
          -lib
                hsqldb.jar
          +data
          -bin
                startup.bat
               

startup_server.bat
-----------------
@java -cp ../lib/hsqldb.jar org.hsqldb.Server -database.0 file:../data/datafile -dbname.0 botoa

2) 连接
模式:Server
驱动:org.hsqldb.jdbcDriver
连接URL:jdbc:hsqldb:hsql://localhost/botoa
用户名:SA
密码:

2. WEB Server模式

应用场景:
只能通过HTTP协议访问数据库时,穿透防火墙.

应用步骤:

1) 启动HSQLDBWeb Server

- e:/hsqldb
          -lib
                hsqldb.jar
          +data
          -bin
                startup_webserver.bat

startup_webserver.bat
-----------------
@java -cp ../lib/hsqldb.jar org.hsqldb.WebServer -database.0 file:../data/datafile -dbname.0 botoa

2) 连接
模式:Web Server
驱动:org.hsqldb.jdbcDriver
连接URL:jdbc:hsqldb:http://localhost/botoa
用户名:SA
密码:

3. 进程模式

1) 连接即启动
模式:进程
驱动:org.hsqldb.jdbcDriver
连接URL:jdbc:hsqldb:file:../data/datafile
用户名:SA
密码:



4. 内存模式
1) 连接即启动
模式:内存
驱动:org.hsqldb.jdbcDriver
连接URL:jdbc:hsqldb:mem:../data/datafile
用户名:SA
密码:

3) 限制:
内存数据不能持久化.

连接测试工具:

runManagerSwing.bat

连接测试代码:
DBUtil.java

import java.sql.Connection;import java.sql.DriverManager;import java.sql.SQLException;public class DBUtil{    public static void main(String[] args)    {      Connection c = null;      String driver = "org.hsqldb.jdbcDriver";      String url = "jdbc:hsqldb:hsql://localhost/botoa";      String webUrl = "jdbc:hsqldb:http://localhost/botoa";      String username = "SA";      String password = "";      try      {            Class.forName(driver);            c = DriverManager.getConnection(webUrl, username, password);            if (null == c)            {                System.err.println("ERROR: failed to load HSQLDB JDBC driver.");            }            else            {                System.out.println("OK:test connect to botoa sucess");            }      }      catch (Exception e)      {            System.err.println("ERROR: failed to load HSQLDB JDBC driver.");            e.printStackTrace();      }      finally      {            if (null != c)            {                try                {                  c.close();                }                catch (SQLException e)                {                  e.printStackTrace();                }            }      }    }}


5. 创建自动增长的主键
CREATE TABLE USER(
ID INTEGER GENERATED BY DEFAULT AS IDENTITY(START WITH 1) NOT NULL PRIMARY KEY,   
NAME VARCHAR_IGNORECASE(20) NOT NULL,   
SEX INTEGER
)
页: [1]
查看完整版本: HSQLDB 使用