H2 Database入门
H2 Database做为轻量级的内嵌数据库,功能十分强大,而且运行时只需要一个jar包即可,下表是官网的描述:

更详细的对比见官网页面: http://www.h2database.com/html/features.html#comparison
下面是开发入门步骤:
一、maven中添加依赖项
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<version>1.3.176</version>
</dependency>
二、Spring配置文件
a) 数据源配置
<bean id="dataSource" class="org.h2.jdbcx.JdbcConnectionPool"
destroy-method="dispose">
<constructor-arg>
<bean class="org.h2.jdbcx.JdbcDataSource">
<!-- 内存模式 -->
<property name="URL" value="jdbc:h2:mem:test" />
<!-- 文件模式 -->
<!-- <property name="URL" value="jdbc:h2:testRestDB" /> -->
<property name="user" value="sa" />
<property name="password" value="sa" />
</bean>
</constructor-arg>
</bean>
注:密码不要留空(可以根据需要修改成其它值),否则运行时会报" 用户名、密码错之类"的Error
b) 初始化数据库脚本
<!-- 初始化数据表结构 -->
<jdbc:initialize-database data-source="dataSource"
ignore-failures="ALL">
<jdbc:script location="classpath:database/h2/create-table.sql" />
<jdbc:script location="classpath:database/h2/import-data.sql" />
</jdbc:initialize-database>
配置这个以后,每次应用启动前,会先执行create-table.sql,然后再执行import-data.sql,十分方便测试前,先初始化db环境
c) hibernate支持
<bean id="sessionFactory"
class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="packagesToScan">
<list>
<value>com.cnblogs.yjmyzz.entity</value>
</list>
</property>
<property name="mappingLocations">
<list>
<value>classpath*:hibernate/**/*.hbm.xml</value>
</list>
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">org.hibernate.dialect.H2Dialect</prop>
<!-- <prop key="current_session_context_class">thread</prop> -->
<prop key="hibernate.format_sql">true</prop>
<prop key="hibernate.show_sql">true</prop>
<prop key="hibernate.use_sql_comments">true</prop>
<prop key="hibernate.max_fetch_depth">3</prop>
<prop key="hibernate.jdbc.batch_size">20</prop>
<prop key="hibernate.jdbc.fetch_size">20</prop>
<prop key="hibernate.cache.use_second_level_cache">false</prop>
</props>
</property>
</bean>
关键是16行,数据库方言的设置
d)mybatis分页插件设置
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="configLocation" value="classpath:mybatis-config.xml"></property>
<property name="typeAliasesPackage" value="com.cnblogs.yjmyzz.entity"></property>
<property name="mapperLocations" value="classpath:mybatis/**/*.xml"></property>
<property name="plugins">
<list>
<bean
class="com.github.miemiedev.mybatis.paginator.OffsetLimitInterceptor">
<property name="dialectClass"
value="com.github.miemiedev.mybatis.paginator.dialect.H2Dialect"></property>
</bean>
</list>
</property>
</bean>
关键是11行,方言的设置
三、代码测试:
@Test
public void testConnH2() throws SQLException, IOException {
ApplicationContext ctx = new ClassPathXmlApplicationContext(
"spring-datasource.xml");
OrderMapper orderMapper = ctx.getBean(OrderMapper.class);
List<TOrder> orders = orderMapper.getAllOrder();
for (TOrder o : orders) {
System.out.println(o.getClientname());
}
((ClassPathXmlApplicationContext) ctx).close(); }
上面演示了mybatis结合H2的使用示例
四、控制台界面
H2还提供了一个可视化界面

Windows开始菜单->H2->H2 console,点击connect连接就行了

有不熟悉的函数啥的,直接在SQL输入区,输入 help,然后run,下面就有帮助信息
完整的示例代码下载 (基于struts2的rest-plugin showcase,增加了mybatis3 + hibernate4 + spring4 + velocity支持)
H2 Database入门的更多相关文章
- H2 Database Engine
http://www.h2database.com/html/main.html H2 Database Engine Welcome to H2, the Java SQL database. Th ...
- [Spring boot] Integrating with h2 database
In pom.xml add dependency: <dependencies> <dependency> <groupId>org.springframewor ...
- H2数据库入门使用
H2数据库入门使用 学习了: https://www.cnblogs.com/xdp-gacl/p/4171024.html http://www.cnblogs.com/xdp-gacl/p/417 ...
- Spring Boot + Mybatis + H2 database数据库
H2 Database H2 由纯 Java 编写的开源关系数据库,可以直接嵌入到应用程序中,不受平台约束,便于测试. h2数据库特点 (1)性能.小巧 (2)同时支持网络版和嵌入式版本,另外还提供了 ...
- Spring Boot with H2 Database
Learn to configure H2 database with Spring boot to create and use an in-memory database in runtime, ...
- Java嵌入式数据库H2学习总结(一)——H2数据库入门
一.H2数据库介绍 常用的开源数据库有:H2,Derby,HSQLDB,MySQL,PostgreSQL.其中H2和HSQLDB类似,十分适合作为嵌入式数据库使用,而其它的数据库大部分都需要安装独立的 ...
- H2 database 应用
以前对内存表的引用一直采用sqllite,由于sqllite对字段的局限性无法满足需要.后来对h2 有了一定青睐做了下应用.下面对h2进行介绍. 1. H2数据库引擎 H2数据库由Java编写的,它可 ...
- java:如何用代码控制H2 Database启动
1.纯手动start/stop package com.cnblogs.yjmyzz.h2; import java.sql.Connection; import java.sql.DriverMan ...
- H2 database的使用
H2最完整的资料下载地址: http://download.csdn.net/detail/yixiaoping/5956595 H2数据库使用 H2数据库介绍 常用的开源数据库:H2 ...
随机推荐
- Ajax最详细的参数解析和场景应用
4.1.定义和用法 AJAX即“Asynchronous Javascript And XML”(异步JavaScript和XML),是指一种创建交互式网页应用的网页开发技术. AJAX = 异步 J ...
- [整理]PHP/HTML混写的四种方式
PHP作为一款后端语言,为了输出给浏览器让浏览器呈现出来,无可避免的要输出HTML代码,下文介绍下我用过的三种PHP/HTML混编方法 1.单/双引号包围法 这是最初级的方法了,用法就像下面这样 &l ...
- IntelliJ IDEA Cannot find declaration to go to
最近在用IntelliJ IDEA开发一个微服务的项目的时候,从git clone了代码, 再用IntelliJ IDEA导入项目以后.项目里好多方法,类和属性都无法转到定义或者声明处,无论是Ctrl ...
- PHP MSSQL 分页实例(刷新)
<?php/* '页面说明:*/ $link=mssql_connect("MYSQL2005","sa","123456") or ...
- Linux文件I/O
文件描述符(File Descriptor) a small, nonnegative integer for use in subsequent system calls (read(2), wri ...
- 在Python命令行和VIM中自动补全
作者:gnuhpc 出处:http://www.cnblogs.com/gnuhpc/ 1. VIM下的配置: wget https://github.com/rkulla/pydiction/arc ...
- service postgresql initdb [FAILED]
一.场景 安装postgresql时可能因为配置有问题[后来定位问题是我把pg_hba.conf中local一栏的ident修改为peer就会出错]导致服务起不来,报错如下: [root@localh ...
- 用css画图标
css3的属性 transform(转换) 用途很广泛,功能也很强大,为了熟悉它的各种转换方式(平移 translate,旋转 rotate,扭曲 skew,放缩 scale),我做了一些平常常用的一 ...
- Observe the 0CTF & 0CON
I went to observe 0CTF and 0CON on 4.22 ~ 4.24 and just come back. Not only do I learn a lot from th ...
- 带权图的最短路径算法(Dijkstra)实现
一,介绍 本文实现带权图的最短路径算法.给定图中一个顶点,求解该顶点到图中所有其他顶点的最短路径 以及 最短路径的长度.在决定写这篇文章之前,在网上找了很多关于Dijkstra算法实现,但大部分是不带 ...