日期:2014-05-16 浏览次数:20528 次
H2 Database是一个非常轻量级的嵌入式关系型数据库,我通常拿它来做个Demo啊,评估一个新框架啊什么的。非常轻便易用。
?
?
简单说明一下:
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的图标,同时浏览器自动打开,可以在这里通过界面方式操作数据库。
?
?
?
又一件很令人惊喜的事情,我们可以抛弃第三方的连接池了
看一下用法:
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果然是麻雀虽小,五脏俱全啊
?