JDBC连接H2 数据库(转http://conanca.javaeye.com/blog/654679)

JDBC连接H2 数据库

文章分类:数据库

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代码 复制代码
  1. import java.sql.*;   
  2. import org.h2.jdbcx.JdbcConnectionPool;   
  3. public class Test {   
  4.     public static void main(String... args) throws Exception {   
  5.         JdbcConnectionPool cp = JdbcConnectionPool.create(   
  6.             "jdbc:h2:~/test""sa""sa");   
  7.         for (String sql : args) {   
  8.             Connection conn = cp.getConnection();   
  9.             conn.createStatement().execute(sql);   
  10.             conn.close();   
  11.         }   
  12.         cp.dispose();   
  13.     }   
  14. }  
 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果然是麻雀虽小,五脏俱全啊

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值