H2数据库说明
H2是一个文本数据库,你可以引用到自己的项目中,或在电脑上直接使用。好处在于不需要像Oracle或Mysql那样要安装软件,而且是轻量的。H2在使用时,只要引入h2*.jar文件,并指明JDBC驱动:org.h2.Driver,还有就是数据库的路径即可。H2在项目中使用时,你可以看作H2有一个服务平台,将你的项目web端和H2数据库连接起来。
电脑上使用H2
首先,在电脑上使用H2时,需要到官网上下载安装包http://www.h2database.com/html/main.html。下载All Platforms (zip, 8 MB)的文件。解压之后,你就可以看到如下的文件:
其次,如果是windows系统,点击bin目录下的h2.bat或h2w.bat都可以, 如果是linux系统,者执行 sh h2.sh.笔者是在自己的windows系统上运行,所以双击h2w.bat后,在电脑的右下角可以看到这个图标。,同时会弹出浏览器的登录窗口。访问的地址是:http://192.168.111.1:8082/login.jsp?jsessionid=d3de299ee67f8926edc84ffda951e248
注意,在测试的情况下,JDBC URL的路径最后要写上test.上图是笔者自己指定了数据库文件所放置的位置,所以写上了具体的路径,其实读者也可以直接写上jdbc:h2: test。test的密码都是sa。点击Connect,你将会看到如下的页面。
好了在上面的页面中,你就可以写上自己的SQL语句了。但是H2有好多在Oracle或Mysq中常用的函数是没有的,这样在开发中可能会带来麻烦。
项目中使用H2
以上只是笔者简单的对H2的使用,也只能说是带读者入门吧。如果想要了解更多H2的使用,可到官网上找资料,或下载使用文档http://www.h2database.com/h2.pdf 。
- 项目中使用H2,需要引入h2*.jar。这就好比在Oracle和Mysql中引入相应的jar文件是一样的。但是H2不需要在电脑上安装任何的软件,除非你是要在浏览器中使用,那就需要上面介绍的那样了。
- 在项目中创建一个类,名为H2ConnectionPool,这个是连接池的方法。在连接池中你需要指名H2数据库文本所要放置的路径,一般在项目中都是直接写上:"jdbc:h2:~/test”,这是说明放置到项目的同等路径下。笔者为了项目中好查看数据库的数据,所以指明子路径是:E:/workspace/SelfMonitor/SelfMonitor/data/test。还有需要注意的是,在同一电脑上,只能有一个H2是开着,也就是说如果你用h2w.bat启用了H2,而在项目中还想使用h2,这是不请允许的,项目启动或浏览器连接都会报在使用中。另外,在项目中可能会有多个线程在操作数据库,有时候会引起线程使用上的冲突,即一个线程在连接数据库后关闭,导致另一个线程在使用时出现异常。在这种的情况下,你需要加上MVCC=TRUE的设置。代码如下。
package com.owen.h2.database2; import java.sql.Connection; import java.sql.SQLException; import org.h2.jdbcx.JdbcConnectionPool; /** *H2数据库操作 * * @author owen * @DATE 20190228 * */ public class H2ConnectionPool { private static H2ConnectionPool cp = null; private JdbcConnectionPool jdbcCP = null; private H2ConnectionPool() { String dbPath = "E:/workspace/SelfMonitor/SelfMonitor/data/test"; jdbcCP = JdbcConnectionPool.create("jdbc:h2:" + dbPath+";MVCC=TRUE", "sa", ""