前言

H2数据库介绍
之前项目中用到了H2内存数据库,常用的开源数据库:H2,Derby,HSQLDB,MySQL,PostgreSQL。其中H2,HSQLDB类似,十分适合作为嵌入式数据库使用,其它的数据库大部分都需要安装独立的客户端和服务器端。

H2的优势

1、h2采用纯Java编写,因此不受平台的限制。
2、h2只有一个jar文件,十分适合作为嵌入式数据库试用。
3、性能和功能的优势

H2比HSQLDB的最大的优势就是h2提供了一个十分方便的web控制台用于操作和管理数据库内容,这点比起HSQLDB的swing和awt控制台实在好用多了。

H2和各数据库特征比较

官方下载地址:http://www.h2database.com/html/download.html

1、H2支持三种服务模式

模式 说明
web server 此种运行方式支持使用浏览器访问H2 Console
TCP server 支持客户端/服务器端的连接方式
PG server 支持PostgreSQL客户端

启动tcp服务连接字符串示例:

jdbc:h2:tcp://localhost/~/test #使用用户主目录
jdbc:h2:tcp://localhost//data/test #使用绝对路径

2、常见的选项如下

参数 说明
-web 启动支持H2 Console的服务
-webPort 服务启动端口,默认为8082
-browser 启动H2 Console web管理页面
-tcp 使用TCP server模式启动
-pg 使用PG server模式启动

3、连接字符串参数

参数 说明
DB_CLOSE_DELAY 要求最后一个正在连接的连接断开后,不要关闭数据库
MODE=mysql 兼容模式,H2兼容多种数据库,该值可以为:DB2、Derby、HSQLDB、MSSQLServer、MySQL、Oracle、PostgreSQL
AUTO_RECONNECT=TRUE 连接丢失后自动重新连接
AUTO_SERVER=TRUE 启动自动混合模式,允许开启多个连接,该参数不支持在内存中运行模式
TRACE_LEVEL_SYSTEM_OUT、TRACE_LEVEL_FILE 输出跟踪日志到控制台或文件, 取值0为OFF,1为ERROR(默认值),2为INFO,3为DEBUG
SET TRACE_MAX_FILE_SIZE mb 设置跟踪日志文件的大小,默认为16M

4、使用心得

1、支持索引,常规数据在1W条以下速度很快,如果数据量超过1W以上的话,需要进行表设计和sql优化。
2、兼容99%以上的sql语句,可能跟oracle冲突大一点,兼容mysql多一些。
3、既然是java开发的,启动依赖安装的jdk

5、参考

其他日常使用就不一一截图,请参考下面的博客:
blog1: http://blog.csdn.net/guicaizhou/article/details/51858086
blog2: http://aub.iteye.com/blog/1882646