2017年清科排行榜:HSQLDB使用总结

来源:百度文库 编辑:中财网 时间:2024/05/13 04:01:51

使用批处理文件启动和管理hsqldb
文件结构如下
--start.bat
--manager.bat
--mydb.properties  这个文件里配置数据库的属性,一般不需要修改。
--mydb.script      这个文件保存数据库执行的sql脚本,用来每次启动数据库时恢复数据到内存中
--lib               用来存放jar文件
   +  --hsqldb.jar   数据必须的jar包
1.双击start.bat 启动数据库服务器并加载数据库mydb,将它的别名设置为mydb。
bat文件代码如下:

java -cp ./lib/hsqldb.jar org.hsqldb.Server -database.0 mydb -dbname.0 mydb

-cp 类路径在这里是hsqldb.jar包相对于当前文件的位置
-database 数据库的id和id对应的数据库文件,这里也是相对路径,很明显mydb.properties和mydb.script在当前路径下,简略写为mydb,也可以写为 ./mydb 。
-dbname 数据库id对应的别名,这个别名可以随意起,在连接数据库的时候要用到。

2.双击manager.bat启动数据库管理器
bat文件内容如下:

java -cp lib/hsqldb.jar  org.hsqldb.util.DatabaseManager

这时会弹出数据库连接信息对话框:
setting name: 随便叫个名字
type:   选择服务器模式
driver:org.hsqldb.jdbcDriver
url:jdbc:hsqldb:hsql://localhost/mydb     (这里的mydb就是数据库的别名)
user:root  
password:root                              (用户名和密码定义在mydb.script文件中)
3.文件源码:
mydb.properties:

 

 


 

  1. #HSQL Database Engine 1.8.0.10
  2. #Mon Oct 06 23:00:59 CST 2008
  3. hsqldb.script_format=0
  4. runtime.gc_interval=0
  5. sql.enforce_strict_size=false
  6. hsqldb.cache_size_scale=8
  7. readonly=false
  8. hsqldb.nio_data_file=true
  9. hsqldb.cache_scale=14
  10. version=1.8.0
  11. #创建的table默认类型是在内存中,数据库的所有信息以sql脚本的形式存在.script文件中,启动时全部加载到内存中。
  12. hsqldb.default_table_type=memory  
  13. hsqldb.cache_file_scale=1
  14. hsqldb.log_size=200
  15. modified=yes
  16. hsqldb.cache_version=1.7.0
  17. hsqldb.original_version=1.8.0
  18. hsqldb.compatible_version=1.8.0

mydb.script:

 


 

  1. CREATE SCHEMA PUBLIC AUTHORIZATION DBA
  2. CREATE USER ROOT PASSWORD "ROOT"
  3. GRANT DBA TO ROOT
  4. SET WRITE_DELAY 10
  5. SET SCHEMA PUBLIC

在java中启动和关闭服务器:


 

  1. package com.hsqldb;
  2. import org.hsqldb.Server;
  3. public class HsqlServerStart {
  4.     /**
  5.      * @param args
  6.      */
  7.     public static void main(String[] args) {
  8.         String dbName="mydb";
  9.         String dbPath="I:/mydb/";
  10.         int port=6952;
  11.         
  12.         Server server = new Server();// 它可是hsqldb.jar里面的类啊。
  13.         server.setDatabaseName(0, dbName);
  14.         server.setDatabasePath(0, dbPath + dbName);
  15.         server.setPort(port);
  16.         server.setSilent(true);
  17.         server.start();
  18.         System.out.println("服务器已经启动,您的数据库名:"+dbName);
  19.         System.out.println("服务器已经启动,您的数据库路径:"+dbPath);
  20.         System.out.println("服务器已经启动,您的数据库服务端口:"+port);
  21.         System.out.println("--------------");
  22.     }
  23. }

 

 

 

 

 

 

 

 

 

    1. package com.hsqldb;
    2. import java.sql.Connection;
    3. import java.sql.DriverManager;
    4. import java.sql.Statement;
    5. public class HsqlServerStop {
    6.     /**
    7.      * @param args
    8.      */
    9.     public static void main(String[] args) {
    10.         try {
    11.             Connection conn = null;
    12.             Class.forName("org.hsqldb.jdbcDriver");
    13.             conn = DriverManager.getConnection(
    14.                     "jdbc:hsqldb:hsql://localhost:6952/mydb", "root", "588629");
    15.             Statement stmt = conn.createStatement();
    16.             stmt.executeUpdate("SHUTDOWN;");
    17.             System.out.println("正在关闭数据库...");
    18.         } catch (Exception e) {
    19.             System.out.println("发生异常:");
    20.             e.printStackTrace();
    21.         }
    22.     }
    23. }