欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

HSQLDB基本认识

程序员文章站 2022-04-26 17:09:47
...

简介:

HSQLDB是一款Java内置的数据库,非常适合在用于快速的测试和演示的Java程序中。(无需独立安装数据库) 
HSQLDB有三种模式: 
1. Server 就像Mysql那样 
2. In-Process 又叫做 Standalone 模式,数据放在本地文件,伴随JVM一起启动,是HSQLDB的主要应用场景 
3. Memory-only, 仅仅在内存中,一旦重启,数据就消失。

引入jar:

HSQLDB基本认识

package hsqldb;
 
import org.hsqldb.util.DatabaseManagerSwing;
 
public class HSQLDB_Client {
//生成一个swing窗口,调出数据库
    public static void main(String[] args) {
        DatabaseManagerSwing.main(args);
    }
}

填写连接参数
1. Setting Name:输入test
2. Type: 选择HSQL Database Engine Standalone
3. Driver: 使用默认的org.hsqldb.jdbcDriver
4. URL: 输入 Jdbc:hsqldb:file:d:/hsqldb/test
5. User: root
6: Password:admin
第3步: 这是Standalone方式,对于同一个数据库,只能启动一次,不支持多进程连接同一个数据库,所以后续在写JAVA代码连接的时候,必须把这个客户端关闭掉才行。
第4步: Jdbc:hsqldb:file:d:/hsqldb/test会导致在d:/hsqldb目录下创建一个test数据库
第5,6步:会导致创建账号密码,以后再连接d:/hsqldb/下的test数据库,就必须用这个账号密码了。

HSQLDB基本认识

CREATE TABLE category (
  id int NOT NULL GENERATED BY DEFAULT AS IDENTITY,
  name varchar(255) DEFAULT NULL,
  PRIMARY KEY (id)
) ;
insert into category values (null,'category1');
insert into category values (null,'category2');
insert into category values (null,'category3');

HSQLDB基本认识

使用JDBC连接hsqldb,需要注意的是, hsqldb的Standalone模式是独占的,所以为了本JDBC代码正常执行,需要关闭上个知识点的客户端,否则连接不上。

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
 
public class TestByJDBC {
 
    public static void main(String[] args) throws Exception{
         
            Class.forName("org.hsqldb.jdbcDriver");
            String url = "jdbc:hsqldb:file:d:/hsqldb/test;shutdown=true";
            Connection c =DriverManager.getConnection(url, "root", "admin");
            Statement st = c.createStatement();
            ResultSet rs= st.executeQuery("select * from category");
            while(rs.next()){
                int id = rs.getInt("id");
                String name = rs.getString("name");
              System.out.println(id+"\t"+name);
            }

            st.close();
            c.close();

         
    }
}

 

相关标签: hsqldb