yufenfei 发表于 2013-1-14 23:45:46

HSQLDB入门

1.从网上下载:hsqldb_1_8_0_7.zip 压缩包,解压。
http://www.hsqldb.org/
然后建立一个文件夹,比如D:\hsqldb,在hsqldb目录下建立data,lib两个子文件夹,
将解压后的lib目录下的hsqldb.jar文件copy到 D:\hsqldb\lib 目录下,  
将解压后的demo目录下的runServer.bat和runManagerSwing.bat文件copy到 D:\hsqldb 目录下,
2.
修改runServer.bat文件的内容如下:
cd data
@java -classpath ../lib/hsqldb.jar org.hsqldb.Server %1 %2 %3 %4 %5 %6 %7 %8 %9
修改runManagerSwing.bat文件的内容如下:
cd data
@java -classpath ../lib/hsqldb.jar org.hsqldb.util.DatabaseManagerSwing %1 %2 %3 %4 %5 %6 %7 %8 %9
3.先运行runServer.bat,启动HSQLDB server,
接着运行runManagerSwing.bat, 先弹出cmd窗口,接着弹出Connect窗口,
将Connect窗口的Type选项设置为 HSQL Database Engine Server,按ok连接到db,进入HSQL Database Manager窗口。
这时查看data目录下,发现生成4个文件:test.lck, test.log, test.properties, test.script
4.在HSQL Database Manager中execute下面sql 后,
create table test(id bigint , name varchar , remark varchar);
insert into test(id,name,remark)values(1,'admin','this is remark!');
在 test.log 中出现内容:
/*C2*/SET SCHEMA PUBLIC
CONNECT USER SA
create table test(id bigint , name varchar , remark varchar)
INSERT INTO TEST VALUES(1,'admin','this is remark!')
HSQL db中的数据就是储存在这个test.log文件中的。
5.在hsqldb目录下建立一java文件,内容如下:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;
import org.hsqldb.jdbcDriver;
public class HsqlDemo{
    public static void main(String[] args){
        try {
            Class.forName("org.hsqldb.jdbcDriver" );           
            Connection c = DriverManager.getConnection("jdbc:hsqldb:hsql://localhost", "sa", "");
            if(c != null){
                System.out.println("Connected db success!");
                String sql = "CREATE TABLE T_USER(ID BIGINT,NAME VARCHAR,BIRTHDAY DATE);";
                Statement st = c.createStatement();
                st.execute(sql);
                sql = "INSERT INTO T_USER(ID,NAME,BIRTHDAY)VALUES('1','ADMIN',SYSDATE);";
                st.executeUpdate(sql);
                if(st != null){
                    st.close();
                }
                c.close();
            }
        } catch (Exception e) {
            System.out.println("ERROR: failed to load HSQLDB JDBC driver.");
            e.printStackTrace();
            return;
        }
    }
}
再建立一test.bat文件,内容如下(注意配置path为你jdk的安装路径):
@echo off
set path=D:Program FilesJavajdk1.5.0_07bin
javac -classpath lib/hsqldb.jar HsqlDemo.java
java -cp lib/hsqldb.jar;./ HsqlDemo
运行test.bat文件后,在 HSQL Database Manager窗口选择View,Refresh tree    ,可以发现已经多了T_USER这个表,并且表里面已有一条记录。
6. 退出HSQL Database Manager, 到Hsql Db 的cmd窗口,按Ctrl+C结束DB。
在hsqldb目录下建立server.properties,内容如下:
server.port=9394
server.database.0=file:data/mydb9394
server.dbname.0=mydb
server.silent=true
建立runServer2.bat,内容如下:
@java -classpath lib/hsqldb.jar org.hsqldb.Server %1 %2 %3 %4 %5 %6 %7 %8 %9
这时运行runServer2.bat,则会在data目录下创建mydb9394.properties,mydb9394.log,mydb9394.lck三个文件,
再运行runManagerSwing.bat,弹出Connect窗口,这时需要将
Type选项设置为 HSQL Database Engine Server
URL 处设置为 jdbc:hsqldb:hsql://localhost:9394/mydb
按ok即可连接db进入 HSQL Database Manager界面。
7. Table的数据类型
Name
 Range
 Java Type
 
INTEGER | INT
 as Java type
 int | java.lang.Integer
 
DOUBLE | FLOAT
 as Java type
 double | java.lang.Double
 
VARCHAR
 as Integer.MAXVALUE
 java.lang.String
 
VARCHAR_IGNORECASE
 as Integer.MAXVALUE
 java.lang.String
 
CHAR | CHARACTER
 as Integer.MAXVALUE
 java.lang.String
 
LONGVARCHAR
 as Integer.MAXVALUE
 java.lang.String
 
DATE
 as Java type
 java.sql.Date
 
TIME
 as Java type
 java.sql.Time
 
TIMESTAMP | DATETIME
 as Java type
 java.sql.Timestamp
 
DECIMAL
 No limit
 java.math.BigDecimal
 
NUMERIC
 No limit
 java.math.BigDecimal
 
BOOLEAN | BIT
 as Java type
 boolean | java.lang.Boolean
 
TINYINT
 as Java type
 byte | java.lang.Byte
 
SMALLINT
 as Java type
 short | java.lang.Short
 
BIGINT
 as Java type
 long | java.lang.Long
 
REAL
 as Java type
 double | java.lang.Double
 
BINARY
 as Integer.MAXVALUE
 byte[]
 
VARBINARY
 as Integer.MAXVALUE
 byte[]
 
LONGVARBINARY
 as Integer.MAXVALUE
 byte[]
 
OTHER | OBJECT
 as Integer.MAXVALUE
 java.lang.Object
 
 
 
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/leon_7mx/archive/2007/08/06/1727962.aspx
页: [1]
查看完整版本: HSQLDB入门