`

H2 Database入门

 
阅读更多

H2 Database入门

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

更详细的对比见官网页面: http://www.h2database.com/html/features.html#comparison

 

下面是开发入门步骤:

一、maven中添加依赖项

1         <dependency>
2             <groupId>com.h2database</groupId>
3             <artifactId>h2</artifactId>
4             <version>1.3.176</version>            
5         </dependency>    

 

二、Spring配置文件

a) 数据源配置

复制代码
 1     <bean id="dataSource" class="org.h2.jdbcx.JdbcConnectionPool"
 2         destroy-method="dispose">
 3         <constructor-arg>
 4             <bean class="org.h2.jdbcx.JdbcDataSource">
 5                 <!-- 内存模式 -->
 6                 <property name="URL" value="jdbc:h2:mem:test" />
 7                 <!-- 文件模式 -->
 8                 <!-- <property name="URL" value="jdbc:h2:testRestDB" /> -->                 
 9                 <property name="user" value="sa" />
10                 <property name="password" value="sa" />
11             </bean>
12         </constructor-arg>
13     </bean>
复制代码

注:密码不要留空(可以根据需要修改成其它值),否则运行时会报" 用户名、密码错之类"的Error

b) 初始化数据库脚本

复制代码
1     <!-- 初始化数据表结构 -->
2     <jdbc:initialize-database data-source="dataSource"
3         ignore-failures="ALL">
4         <jdbc:script location="classpath:database/h2/create-table.sql" />
5         <jdbc:script location="classpath:database/h2/import-data.sql" />
6     </jdbc:initialize-database>
复制代码

配置这个以后,每次应用启动前,会先执行create-table.sql,然后再执行import-data.sql,十分方便测试前,先初始化db环境

 

c) hibernate支持

复制代码
 1     <bean id="sessionFactory"
 2         class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
 3         <property name="dataSource" ref="dataSource" />
 4         <property name="packagesToScan">
 5             <list>
 6                 <value>com.cnblogs.yjmyzz.entity</value>
 7             </list>
 8         </property>
 9         <property name="mappingLocations">
10             <list>
11                 <value>classpath*:hibernate/**/*.hbm.xml</value>
12             </list>
13         </property>
14         <property name="hibernateProperties">
15             <props>
16                 <prop key="hibernate.dialect">org.hibernate.dialect.H2Dialect</prop>
17                 <!-- <prop key="current_session_context_class">thread</prop> -->
18                 <prop key="hibernate.format_sql">true</prop>
19                 <prop key="hibernate.show_sql">true</prop>
20                 <prop key="hibernate.use_sql_comments">true</prop>
21                 <prop key="hibernate.max_fetch_depth">3</prop>
22                 <prop key="hibernate.jdbc.batch_size">20</prop>
23                 <prop key="hibernate.jdbc.fetch_size">20</prop>
24                 <prop key="hibernate.cache.use_second_level_cache">false</prop>
25             </props>
26         </property>
27     </bean>
复制代码

关键是16行,数据库方言的设置

 

d)mybatis分页插件设置

复制代码
 1     <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
 2         <property name="dataSource" ref="dataSource" />
 3         <property name="configLocation" value="classpath:mybatis-config.xml"></property>
 4         <property name="typeAliasesPackage" value="com.cnblogs.yjmyzz.entity"></property>
 5         <property name="mapperLocations" value="classpath:mybatis/**/*.xml"></property>
 6         <property name="plugins">
 7             <list>
 8                 <bean
 9                     class="com.github.miemiedev.mybatis.paginator.OffsetLimitInterceptor">
10                     <property name="dialectClass"
11                         value="com.github.miemiedev.mybatis.paginator.dialect.H2Dialect"></property>
12                 </bean>
13             </list>
14         </property>
15     </bean>
复制代码

关键是11行,方言的设置

 

三、代码测试:

复制代码
 1     @Test
 2     public void testConnH2() throws SQLException, IOException {
 3         ApplicationContext ctx = new ClassPathXmlApplicationContext(
 4                 "spring-datasource.xml");
 5         OrderMapper orderMapper = ctx.getBean(OrderMapper.class);
 6         List<TOrder> orders = orderMapper.getAllOrder();
 7         for (TOrder o : orders) {
 8             System.out.println(o.getClientname());
 9         }
10         ((ClassPathXmlApplicationContext) ctx).close();
11 
12     }
复制代码

上面演示了mybatis结合H2的使用示例

 

四、控制台界面

H2还提供了一个可视化界面

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

有不熟悉的函数啥的,直接在SQL输入区,输入 help,然后run,下面就有帮助信息

分享到:
评论

相关推荐

    H2 Database 教程

    H2 Database是一款基于Java开发的开源内存数据库系统,它同时支持嵌入式模式和服务器模式运行,具备了小型、快速、易于使用的特点,并提供了JDBC接口用于数据库的连接。H2数据库适合嵌入到Java应用程序中,不需要...

    H2 DataBase 开源 内存数据库

    本文将深入探讨H2 Database的关键特性、优势以及如何入门使用。 首先,H2 Database的核心特性之一是其内存模式,这使得它能够在内存中存储所有数据,从而提供极快的数据处理速度。当应用程序启动时,数据库会加载到...

    h2 database pdf

    ### H2 Database Engine 特性与使用指南 #### 概述 H2 是一款轻量级、高性能且开源的关系型数据库管理系统(RDBMS),它支持标准的 SQL 语法,并且能够以嵌入式模式或者服务器模式运行。该数据库特别适用于开发测试...

    h2 database description

    根据所提供的文件信息,“H2 database description”主要介绍了H2数据库的核心特性和使用方法。以下是针对该文档标题、描述及部分内容中的关键知识点的详细解析。 ### 核心特性与模式 #### 流行度与适用场景 - **...

    H2DB所需的jar和DEMO示例,可直接导进eclipse中

    这个压缩包包含了使用H2DB所需的基本资源,特别是对于初学者来说,是一个理想的入门工具。 首先,我们关注的是"H2db"这个标签,这表明压缩包中的核心组件是H2数据库的实现。H2数据库以其小巧、快速和功能强大而著名...

    H2数据库创建和使用教程 新手入门

    H2数据库可以从官方网站下载,具体地址为:[http://www.h2database.com/html/download.html](http://www.h2database.com/html/download.html)。下载完成后会得到一个包含所有必要文件的压缩包。 ##### 安装步骤 - *...

    H2数据库的使用入门

    在“H2数据库的使用入门”中,我们首先会接触到如何下载和安装H2数据库。例如,提供的压缩包文件`h2-setup-2011-08-13.exe`可能是一个历史版本的H2数据库安装程序,用户可以通过运行该程序来安装H2。通常,安装过程...

    H2数据库中文资料

    `H2Database中文教程.doc`为初学者提供了全面的入门指南,包括安装、配置、基本操作以及如何创建和管理数据库。通过这个文档,你可以学习到如何使用H2数据库进行数据的增删改查,以及如何执行复杂的查询语句。 **4....

    内存数据库H2

    《H2Database聚合函数》介绍了H2支持的聚合函数,如COUNT、SUM、AVG、MAX、MIN等,这些都是用于对一组数据进行统计计算的关键功能。这些函数在数据分析和报表生成中非常常见。 《H2Database中文教程》可能是对H2...

    H2数据库官方文档(English)

    - **连接到数据库**(Connecting to a Database):说明了如何通过JDBC连接到数据库,并创建新的数据库。 - **服务器模式**(Server Mode):介绍了如何启动和使用服务器工具,包括连接到TCP服务器、在应用程序内...

    h2数据库实战

    通过教程中的快速入门、安装指导、使用控制台、操作教程、高级功能、特殊语法、连接数据库、数据库升级、备份和恢复以及命令行工具等章节,开发者可以快速上手并深入应用H2数据库。 最后,本教程还强调了H2数据库在...

    spring-mvc-embedded-database:Spring MVC项目可与静态服务和H2数据库一起使用

    com.h2database h2运行时 应用程序属性中的数据源配置 spring.datasource.url = jdbc:h2:file:./ data / testdb spring.datasource.driverClassName = org.h2.Driver spring.datasource.username = sa spring....

    H2数据库完整版-安装服务和说明

    2. SQL命令:H2支持基本的SQL语句,如CREATE DATABASE、CREATE TABLE、INSERT INTO、SELECT等,你可以在这里进行数据库操作。 3. 数据类型:H2支持多种数据类型,包括INT、VARCHAR、DATE、TIMESTAMP等。了解这些数据...

    spring-boot-h2-database-example

    原始软件包名称'com.javatpoint.spring-boot-h2-database-example'无效,并且该项目改用'com.javatpoint.springbooth2databaseexample'。 入门 参考文件 有关更多参考,请考虑以下部分: 导游 以下指南说明了如何...

    H2DB 参考手册(英文版)

    #### H2 Database Engine 概览 - **版本信息**:H2 Database Engine 当前版本为1.0.71,发布日期为2008年4月25日。 - **适用场景**:适用于小型内存数据库或缓存的应用场景。 - **性能优势**:据称相较于HSQLDB具有...

    Spring MVC 入门实例

    上面, 我们在 web.xml 文件中告诉 ContextLoaderListener, 我们还有另外两个配置文件 /WEB-INF/database.xml 和 /WEB-INF/applicationContext.xml. applicationContext.xml: 1 2 &lt;!DOCTYPE beans PUBLIC "-//...

    Spring Data JPA入门项目01

    &lt;groupId&gt;com.h2database&lt;/groupId&gt; &lt;artifactId&gt;h2 &lt;scope&gt;runtime ``` 接下来,定义实体类。比如,我们可以创建一个`User`实体,包含ID、姓名、邮箱等属性,并使用`@Entity`注解标记为JPA实体: ```java ...

    fundamentals of database systems 7th 课件

    本课件源自《fundamentals of database systems》第七版,是数据库系统入门的权威教材。本课程主要围绕数据库系统的基础概念、架构设计以及数据库系统的用户展开。 首先,课程介绍了数据库系统的基本概念,这是任何...

    免费报表BI平台metabase入门到精通全家桶(一)

    metabase BI平台入门到精通全家桶(一) Metabase是基于Java语言开发的免费报表BI平台,它提供了一个灵活、可扩展、易于使用的数据分析和报表生成解决方案。下面是 metabase 的安装和使用指南。 metabase 安装 ...

    jsp BBS入门教程

    &lt;h2&gt;("title") %&gt;&lt;/h2&gt; &lt;p&gt;&lt;%= rs.getString("content") %&gt; } rs.close(); conn.close(); %&gt; ``` 以上代码示例展示了如何在JSP中使用Java代码从数据库中获取数据,并在页面上显示。 总结:通过这个"jsp ...

Global site tag (gtag.js) - Google Analytics