Hypersonic SQL开源数据库方向比较流行的纯Java开发的关系型数据库
Hypersonic SQL
Hypersonic SQL开源数据库方向比较流行的纯Java开发的关系型数据库。好像不是JDBC兼容的,JDBC的很多高级的特性都没有支持,不过幸好支持ANSI- 92 标准 SQL语法。我推荐它主要是它的代码比较少1600页左右,如此小的数据库值得研究,而且他占的空间很小,大约只有160K,拥有快速的数据库引擎。推荐 你的第一个开源数据库。下载地址:http://hsqldb.sourceforge.net/。
http://blog.csdn.net/treewinder/article/details/2045273
JBoss内置的HSQL DB数据库
JBoss使用的默认数据库是纯java数据库Hypersonic。这个数据库的配置信息位于hsqldb-ds.xml文件中,可见是作为一个JBOSS应用加载的。数据库可以加载在内存中。数据库文件存放在JBOSS_HOME/server/default/data/hypersonic 目录下。仅一个hsqldb.jar文件就包括了数据库引擎,数据库驱动,还有其他用户界面操作等内容。
可以可视化查找相关数据,具体如下:
java -cp <PATH_TO_HSQLDB.JAR> org.hsqldb.util.DatabaseManager
java -cp D:/Java/jboss-4.2.2.GA/server/default/lib/hsqldb.jar org.hsqldb.util.DatabaseManager
在弹出窗口中设置:
In-Process (Standalone)模式:
Select "HSQL Database Engine Standalone"
Driver: "org.hsqldb.jdbcDriver"
URL: "jdbc:hsqldb:file:D:/Java/jboss-4.2.2.GA/server/default/data/hypersonic/localDB"
User: "sa"
Password:
( 其他模式
1 server mode:
On the Connect Window:
Select "HSQL Database Engine Server"
Driver: "org.hsqldb.jdbcDriver"
URL: "jdbc:hsqldb:hsql://localhost:1476" 几种变化:"jdbc:hsqldb:hsql://localhost:1476/localDB" 或者"jdbc:hsqldb:hsql://localhost/localDB" 端口号如何确定,可以参看后面附录的文章2,本文未深究。
User: "sa"
Password:
2 内存模式in memory
)
连接界面:
然后就可以使用SQL语句进行数据库操作了。
可以参看2篇文章:
http://www.blogjava.net/hengheng123456789/articles/68002.html
一、简介:
hsql数据库是一款纯Java编写的免费数据库,许可是BSD-style的协议,如果你是使用Java编程的话,不凡考虑一下使用它,相对其他数据库来说,其体积小,才563kb。仅一个hsqldb.jar文件就包括了数据库引擎,数据库驱动,还有其他用户界面操作等内容。在Java开源世界里,hsql是极为受欢迎的(就Java本身来说),JBoss应用程序服务器默认也提供了这个数据库引擎。由于其体积小的原因,又是纯Java设计,又支持SQL99,SQL2003大部分的标准,所以也是作为商业应用程序展示的一种选择。请到以下地址下载hsql: http://prdownloads.sourceforge.net/hsqldb/hsqldb_1_7_3_3.zip?download
二、使用hsql数据库:
1、hsql数据库引擎有几种服务器模式:常用的Server模式、WebServer模式、Servlet模式、Standlone模式、Memory-Only数据库。
2、最为常用的Server模式:
1)首先却换到lib文件夹下,运行java -cp hsqldb.jar org.hsqldb.Server -database.0 db/mydb -dbname.0 xdb
执行命令后,将会在db文件夹下创建一个数据库mydb,别名(用于访问数据库)是xdb,如果存在mydb数据库,将会打开它。
org.hsqldb.Server ,这个类是数据库的服务器,即起到启动和服务的作用,
java -cp /opt/hsqldb/hsqldb.jar org.hsqldb.Server -database /tmp/bd -port 9001 -system_exit=true
这个是网点上说的的一个命令,其实这个启动也不用那么的复杂,要加的参数,一是类包,需要设置classpath,二就是运行类名,-database /tmp/bd -port 9001 -system_exit=true 这都是运行的时候进行的连接和数据保存的路径
2)运行数据库界面操作工具:java -cp hsqldb.jar org.hsqldb.util.DatabaseManager
在Type选项里选上相应的服务器模式,这里选择HSQL Database Engine Server模式;Driver不用修改;URL修改为jdbc:hsqldb:hsql://localhost/xdb (主要这里xdb就是上面我们设置的别名);user里设置用户名,第一次登录时,设置的是管理员的用户名,password设置密码。然后点击Ok。
3)第一次运行数据库引擎,创建数据库完毕。好了,你可以打开db文件夹,会发现里面多了几个文件。
mydb.properties文件:是关于数据库的属性文件。
mydb.script:hsql主要保存的表(这里按hsql的说法是Memory表,就是最为常用的),里面的格式都是文本格式,可以用文本查看,里面的语句都是sql语句,熟悉sql语句的话,你也可以手动修改它。每次运行数据库引擎的话都是从这里加载进内存的。
mydb.lck表示数据库处于打开状态。
其他的请参看hsqldb包里的手册。
3、WebServer模式和Server运行模式基本一样,只是支持了Http等协议,主要用于防火墙,默认端口是9001。启动Server,java -cp hsqldb.jar org.hsqldb.WebServer ...剩余的和上面的一致。
4、Servlet模式可以允许你通过Servlet容器来访问数据库,请查看hsqlServlet.java的源代码,和WebServer类似。
5、另一个值得思考的模式是Standalone模式:不能通过网络来访问数据库,主要是在一个JVM中使用,那样的话,访问的速度会更加快。虽然文档里面提到主要是用于开发时使用,但是我们可以假设一下,该方法不需要一个引擎类的东西,而类似于打开文件的方式,返回一个Connection对象:
Connection c = DriverManager.getConnection("jdbc:hsqldb:file:mydb", "sa", "");
将会在当前目录找到mydb数据库相关文件,打开并返回一个Connection对象。该方式有点好处就是可以不使用引擎,在需要的时候操作数据。所以那些对数据库不是特别有要求的,但又需要一个操作数据库的方式的话,可以使用这种方法。对于那些不想额外在数据库引擎花费金钱的话,可以使用这种方法。但是不推荐使用该方法。记得Hibernate里SessionFactory可以使用openSession(Connecttion c)来获得一个Session对象的,因此,在测试或者实际应用的话都可以这样使用。
6、Memory-Only 数据库:顾名思义,主要是内存中使用,不用于保存数据。可以用于在内存中交换数据。
三、具体的链接与操作的话,和一般的JDBC操作一样。而相应的Server模式的话,连接地址主要你运行数据库界面操作工具时,在URL一栏时默认已经设好了,自己实习一下,对比其中参数。
===============================================================================
2 嵌入式数据库HSQLDB
http://www.yoy1.com/thread-19049-1-1.html
Hypersonic SQL开源数据库方向比较流行的纯Java开发的关系型数据库相关推荐
- 纯java数据库_HSQLDB(Hypersonic SQL),纯Java开发的开源关系型数据库
HSQLDB(Hypersonic SQL)是纯Java开发的关系型数据库,提供了一个小型的,快速多线程的,支持事务的内存型数据库,也支持基于硬盘的表模型,并支持内嵌和服务器模式.它提供JDBC驱动存 ...
- java要学mysql 吗_做JAVA开发需要把数据库学习到何种程度
原标题:做JAVA开发需要把数据库学习到何种程度 做JAVA开发需要把数据库学习到何种程度?智递科技小编和大家一起探讨交流: 1.开发人员对DB的掌握,越深入,你能做的事情就越多. 2.完成业务功能, ...
- H2:一款基于 Java 的嵌入式关系型数据库
文章目录 H2 简介 下载安装 执行 SQL 语句 查看帮助 运行 SQL 脚本 生成 DDL 语句 断开数据库连接 连接模式 命令行客户端 Maven 依赖 资源文档 总结 大家好,我是只谈技术不剪 ...
- 纯java实现连接access数据库详解
大家好,今天详细介绍一下纯java实现连接access数据库. 首先,连接驱动是要使用ucanaccess,这就需要几个jar包依赖 maven项目可以去寻找相应的依赖,将依赖导入项目后就ok了,然后 ...
- python数据库应用开发实例_纯Python开发的nosql数据库CodernityDB介绍和使用实例
看看这个logo,有些像python的小蛇吧 .这次介绍的数据库codernityDB是纯python开发的. 先前用了下tinyDB这个本地数据库,也在一个api服务中用了下,一开始觉得速度有些不给 ...
- 《图数据库(第2版)》——2.1 关系型数据库缺少联系
本节书摘来自异步社区出版社<图数据库(第2版)>一书中的第2章,第2.1节,作者:[美]Ian Robinson(伊恩•罗宾逊) , Jim Webber(吉姆•韦伯) , Emil Ei ...
- Java就业方向有哪些?学习Java开发能做什么?
学习Java开发都能做什么?Java主要应用在B/S和C/S领域.由于科技的不断发展,B/S将不足以满足社会需求,C/S将会是社会发展趋势.随着Servlet技术的使用,Java向Web移动设备方向挺 ...
- mysql 应用前景_图数据库在企业应用中前景如何,相比关系型数据库有哪些优势?...
图数据虽然在国内的应用还不是非常广泛,但发展前景还是很可观的. 跟以Oracle为代表的传统关系型数据相比,图的逻辑可以很好的解决绝大多数底层数据分析问题, 图数据的数据逻辑维度要远高于关系型数据,所 ...
- java能写驱动吗_使用纯java jdbc驱动程序实现数据库的连接
1.准备工作: 准备相关的软件(Eclipse除外,开源软件可以从官网下载) <1>.Microsoft SQL server 2005 Express Edition <2> ...
最新文章
- 2021-2027年中国室内定位市场研究及前瞻分析报告
- python 参数
- 黑马程序员pink老师前端入门教程,零基础必看的JavaScript基础语法视频教程(二)
- Python AdaBoost提升算法
- 小菜的CLR之旅(1)
- Mybatis入门---一对多、多对多
- PL/SQL程序设计以及安全管理实验遇到的问题及解决
- 计算机二级考试c语言公共基础知识,全国计算机二级c语言公共基础知识考试内容.doc...
- SHA-3的获胜者:keccak - 在 3GPP TS 35.231、FIPS 202 和 SP 800-185 中标准化
- 消息中间件 rabbitMQ
- Dcmtk在PACS开发中的应用(基础篇) 第二章 打印影像(胶片) 作者 冷家锋
- 面试总结(sohu)
- 边缘计算对于基础架构和运营领导者意味着什么
- RPA 在 HR 人力资源系统的应用
- 《模拟电子技术基础》-(童诗白)笔记
- QTTabBar 使用
- react项目中使用echart
- 地产大佬潘石屹宣布入坑Python,这是要来抢我们的饭碗了吗?
- 软件测试常用的测试方法有哪些?
- ARTS-第-22-期
热门文章
- 【MFC】类的层次结构图
- 【内核数据结构】 内核链表分析
- caffe检测图片是否包含人脸_caffe入门-人脸检测1
- 回复群邮件导致邮件服务器,电子邮件逐个发-邮件群发软件-使用手册
- 从字节码层面分析==比较integer和int
- can协议解析字符串的原理
- 单循环链表(C语言实现)
- 设置iis网页服务器cpu占比,为什么iis的一个线程池占了100%cpu
- 报错 之 from typing import OrderedDict ImportError: cannot import name ‘OrderedDict‘ from ‘typing‘
- pytorch 之 冻结某层参数,即训练时不更新