安装:
H2不依赖与任何Jar包,使用H2时,只需要将H2的Jar包添加到classpath中即可。
<dependency> <groupId>com.h2database</groupId> <artifactId>h2</artifactId> <version>1.3.171</version> </dependency>
配置数据源:
通过spring jdbc来访问H2,下面是spring的配置,在这里我使用的是H2的in-memery模式。
<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的配置,如下:
<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内存数据库中的数据。