文章分类:数据库
H2 Database是一个非常轻量级的嵌入式关系型数据库,我通常拿它来做个Demo啊,评估一个新框架啊什么的。非常轻便易用。
先看一下如何通过jdbc访问h2吧 写道 H2 Server JDBC Driver DRIVER CLASS: org.h2.Driver DRIVER LOCATION: Enter the location of the jar file containing the H2 JDBC Driver JDBC URL FORMAT: jdbc:h2:tcp://<host>/<database> H2 Embedded JDBC Driver DRIVER CLASS: org.h2.Driver DRIVER LOCATION: Enter the location of the jar file containing the H2 JDBC Driver JDBC URL FORMAT: jdbc:h2:file:<filepath>(其实还可以这样写: jdbc:h2:<filepath>)
简单说明一下:
1.通过JDBC连接H2数据库有两种方式,server和embedded
前者就是通常意义上的连接数据库服务器,而后者可以理解为,访问某主机上的数据文件。
个人推荐第二种方式——嵌入式,也是h2的亮点。因为不需要额外启动数据库服务,你的系统看起来就像没用数据库一样。
2.关于JDBC驱动。就是在你下载的h2数据库的bin目录下的那个jar文件。它同时也是h2的程序文件!
3.JDBC URL 中的<host>就是主机地址了,<filepath>和<database> 说的都是数据库文件地址+数据库名,若没有则自动新建这个数据库。~表示系统用户目录C:/Documents and Settings/<user>,如果不指明盘符,则默认路径是是应用所在盘符下根目录。
例如 jdbc:h2:E:/h2db/ibatistest 表示我要直接连接本地机器上E:/h2db目录下的ibatistest这个数据库。
又例如 jdbc:h2:tcp://localhost/~/mini-web 表示我要通过访问数据库服务的方式连接本机上C:/Documents and Settings/<user>目录下的mini-web数据库。注意server方式连接,此前应启动数据库,运行h2的bin目录下h2w.bat这个批处理,看到系统托盘会多出h2的图标,同时浏览器自动打开,可以在这里通过界面方式操作数据库。
看一下如何在Hibernate中配置信息: 写道 jdbc.driver=org.h2.Driver jdbc.url=jdbc:h2:tcp://localhost/~/mini-web jdbc.username=sa jdbc.password= hibernate.dialect=org.hibernate.dialect.H2Dialect
H2自带的数据库连接池
又一件很令人惊喜的事情,我们可以抛弃第三方的连接池了
看一下用法:
Java代码 import java.sql.*; import org.h2.jdbcx.JdbcConnectionPool; public class Test { public static void main(String... args) throws Exception { JdbcConnectionPool cp = JdbcConnectionPool.create( "jdbc:h2:~/test", "sa", "sa"); for (String sql : args) { Connection conn = cp.getConnection(); conn.createStatement().execute(sql); conn.close(); } cp.dispose(); } } import java.sql.*; import org.h2.jdbcx.JdbcConnectionPool; public class Test { public static void main(String... args) throws Exception { JdbcConnectionPool cp = JdbcConnectionPool.create( "jdbc:h2:~/test", "sa", "sa"); for (String sql : args) { Connection conn = cp.getConnection(); conn.createStatement().execute(sql); conn.close(); } cp.dispose(); } }
H2果然是麻雀虽小,五脏俱全啊
