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) 启动HSQLDB  Web 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
)

你可能感兴趣的:(HSQLDB,JDBC,SQL,Server,Java,SQL)