java hsqldb_Hsqldb入门
一.编程启动数据库
package com.alibaba.hsql.hsqldemo;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import com.alibaba.hsql.hsqldemo.util.DbPropertyUtil;
public class DbManager {
static {
String driver = DbPropertyUtil.getDrvier();
try {
Class.forName(driver);
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
/**
* 关闭数据库
*/
public static void stopDb() {
final String dbalias = DbPropertyUtil.getDbName();
final String urlPrefix = DbPropertyUtil.getUrlPrefix();
final String url = urlPrefix + dbalias;
final String username = DbPropertyUtil.getUsername();
final String password = DbPropertyUtil.getPassword();
Connection conn = null;
Statement stmt = null;
try {
try {
conn = DriverManager.getConnection(url, username, password);
stmt = conn.createStatement();
stmt.execute("SHUTDOWN");
} finally {
if (null != stmt)
stmt.close();
if (null != conn)
conn.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
/**
* 启动数据库
*/
public static void startDb(boolean dropOldTable) {
startServer();
createTable(dropOldTable);
}
private static void createTable(final boolean dropOldTable) {
//创建表
final String dbalias = DbPropertyUtil.getDbName();
final String urlPrefix = DbPropertyUtil.getUrlPrefix();
final String url = urlPrefix + dbalias;
final String username = DbPropertyUtil.getUsername();
final String password = DbPropertyUtil.getPassword();
final String tableName = DbPropertyUtil.getTableName();
Connection conn = null;
ResultSet rs = null;
String sql = DbPropertyUtil.getSql();
Statement stmt = null;
try {
try {
conn = DriverManager.getConnection(url, username, password);
rs = conn.getMetaData().getTables(null, null, tableName.toUpperCase(), null);
if (!rs.next()) {//不存在
stmt = conn.createStatement();
stmt.execute(sql);
}else{//存在
if(dropOldTable){
stmt = conn.createStatement();
stmt.execute("drop table " + tableName);
stmt.execute(sql);
}
}
} finally {
if (null != rs)
rs.close();
if (null != stmt)
stmt.close();
if (null != conn)
conn.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
/**
* 启动数据库服务器
*/
private static void startServer() {
final String database = "-database.0";
final String path = System.getProperty("user.home");
if (null == path) {
throw new RuntimeException("user home directory should not null");
}
final String fileName = path + DbPropertyUtil.getDbPath();
final String dbname = "-dbname.0";
final String dbalias = DbPropertyUtil.getDbName();
org.hsqldb.Server.main(new String[] { database, fileName, dbname, dbalias });
}
}
二.hsqldb相关知识:
1.支持Indentity主键;
2.支持分页:SELECT TOP 5 FROM .. , SELECT LIMIT 0 10 FROM ...;
3.支持JDBC 2.0
java hsqldb_Hsqldb入门相关推荐
- java从入门到精通_想要开始学java?你要的java从入门到精通布列如下!
java从入门到精通,让我来告诉你! 毫无疑问,java是当下最火的编程语言之一.对于许多未曾涉足计算机编程的领域「小白」来说,深入地掌握java看似是一件十分困难的事.其实,只要掌握了科学的学习方法 ...
- C功底挑战Java菜鸟入门概念干货(一)
一.认识Java 1.Java 程序比较特殊,它必须先经过编译,然后再利用解释的方式来运行. 2.Byte-codes 最大的好处是--可越平台运行,可让"一次编写,处处运行"成 ...
- java基础入门传智播客 源码_Java-_2020年版Java零基础视频教程(Java 0基础,Java初学入门)魔鬼讲师老杜出品...
不会闲聊!!!不会扯淡!!!小UP只会分享与Java相关的学习资源 还记得那年带你Java入门的一声"吼"吗? B站目前播放量已经快到450多万播放量的Java零基础教程的创作者& ...
- 叮!您收到一份超值Java基础入门资料!
摘要:Java语言有什么特点?如何最大效率的学习?深浅拷贝到底有何区别?阿里巴巴高级开发工程师为大家带来Java系统解读,带你掌握Java技术要领,突破重点难点,入门面向对象编程,以详细示例带领大家J ...
- java基础入门课后习题_《Java基础入门》课后习题及答案
<Java基础入门>课后习题及答案Java基础入门,课后习题,答案 博学谷--让IT教学更简单,让IT学习更有效 <Java基础入门>课后习题 第1章Java开发入门 一.填空 ...
- Java从入门到精通08-二进制、位运算、移位运算
Java从入门到精通08-二进制.位运算.移位运算 二进制(Binary)数用0和1两个数字及其组合来表示任何数.进位规则是"逢2进1",数字1在不同的位上代表不同的值,按从右到左 ...
- java技术入门培训_入门java怎么自学?推荐谁的课程?
想要知道如何学习Java首先需要对她有一个大致的了解,Java是面向对象的编程语言,具有简单性.分布式.安全性.平台独立与可移植性.多线程.动态性等特点.现在多用于编写桌面应用程序.Web应用程序.分 ...
- 小白学编程“Java小白”入门解疑大全
成功的人分几种,有一种人叫做关系户,他们渠道多,广织关系网,有一种叫做平台户,他们平台有多硬,他们就有多硬,但无论是关系户还是平台户,依靠的总是别人的手.别人的嘴巴.别人辛苦创立下来的资源,归根到底, ...
- B站百万播放量Java零基础教程视频(适合Java 0基础,Java初学入门),史上最细Java零基础教学视频
是否还在为学习Java如何入门而烦恼? 是否还在为Java软件如何安装而烦恼? 是否还在找寻着适合零基础的Java视频教程? 动力节点教学总监老杜159集课堂实录Java零基础视频教程,从初学者角度出 ...
- Java RMI 入门
Java RMI 入门 如何通信 实战 完整代码 Java RMI 指 JDK 内置的关于实现远程方法调用(Remote Method Invocation)的 API.这些 API 位于包 ja ...
最新文章
- OpenCV | OpenCV:sift,SURF 特征提取
- 测绘技术设计规定_1:2000地形图项目测绘(航测)技术设计书(文档可下载)
- C#之windows桌面软件第一课:倒时器软件
- 英语语法---分词短语详解
- mongoose Topology was destroyed 处理
- Cloudera Manager 术语和架构
- 10款 非常酷炫的网站首页焦点图 兼容ie浏览器
- 黑科技揭秘:百种异常随机注入,专有云为何稳如泰山 1
- windows设备管理器
- LeedCode知识点之位运算
- 【1131】C/C++经典程序训练1---最大公约数与最小公倍数
- 华南x79主板设置硬盘启动_硬盘无法识别怎么办?最全的解决办法
- 兄弟连关于PHP培训的声明
- 如何转换e-ac3|dts-hd|truehd|dsd|dff|dsf|wav|flac|ape|dts|mp3|wma|m4a|mkv|mp4|ncm|kgm|kgma|vpr|qmc等音视频格式?
- 单片机仿真软件proteus实验测试,基于单片机仿真软件proteus的流水灯实验报告.doc...
- Uniapp实现加入购物车抛物线效果
- PPT 插入无限循环滚动的图片
- php 计算壬子,壬子日是哪一天 壬子日怎么算
- 【爬虫实战】01利用python爬虫并进行数据分析(链家 爬虫)
- TSC Deluxe 300 pro 打印机驱动