H2 Database

H2的简单使用

H2不依赖与任何Jar包,使用H2时,只需要将H2的Jar包添加到classpath中即可。

  Xml代码  <img alt="收藏代码" src="http://puroc.iteye.com/images/icon_star.png" />




  <dependency>


      <groupId>com.h2database</groupId>


      <artifactId>h2</artifactId>


      <version>1.3.171</version>


  </dependency>

**配置数据源: **

通过spring jdbc来访问H2,下面是spring的配置,在这里我使用的是H2的in-memery模式。

  Xml代码  <img alt="收藏代码" src="http://puroc.iteye.com/images/icon_star.png" />




  <bean id="dataSource4H2" class="org.apache.commons.dbcp.BasicDataSource"


          destroy-method="close">


          <property name="driverClassName" value="org.h2.Driver" />


          <property name="url"


              value="jdbc:h2:mem:test;DB_CLOSE_DELAY=-1;IGNORECASE=TRUE;MODE=MySQL" />


          <property name="username" value="test" />


          <property name="password" value="test" />


  </bean>




  <bean id="jdbcTemplate4H2" class="org.springframework.jdbc.core.JdbcTemplate">


          <property name="dataSource">


              <ref bean="dataSource4H2" />


          </property>


  </bean>

H2的URL可以支持很多参数的设置,具体可以参看H2的官方网站http://www.h2database.com/html/features.html

我这里的参数配置说明如下:

a) jdbc:h2:mem:test: 代表用内存来存储数据。mem:后面的为数据库名称。

b) DB_CLOSE_DELAY=-1: 代表当JVM停止时才关闭H2数据库。

c) IGNORECASE=TRUE: 不区分大小写。

d) MODE=MySQL: H2本身支持的是标准的SQL,但实际上不同的数据库之间存在一些差别,H2为了适配不同的数据库,可以在URL中添加MODE这个参数,我们使用的是MySQL数据库,所以MODE=MySQL

**使用: **

通过spring jdbcTemplate来访问H2

H2 Console

H2还提供了一个控制台,能够查看H2中的数据,添加这个控制台也很简单,只需要在web.xml中增加一个servlet的配置,如下:

  Xml代码  <img alt="收藏代码" src="http://puroc.iteye.com/images/icon_star.png" />




  <servlet>


          <servlet-name>H2Console</servlet-name>


          <servlet-class>org.h2.server.web.WebServlet</servlet-class>


          <load-on-startup>1</load-on-startup>


  </servlet>


  <servlet-mapping>


          <servlet-name>H2Console</servlet-name>


          <url-pattern>/memerydb/console/*</url-pattern>


  </servlet-mapping>

然后通过浏览器访问就能够看到H2 Console,在console修改数据,其实就是修改H2内存数据库中的数据。

http://blog.csdn.net/yixiaoping/article/details/9801397

http://puroc.iteye.com/blog/1851790