目录
[TOC]
H2是一个开源的、纯Java实现的关系数据库。
用途
1、它可以与应用程序打包一起发布,这样可以很方便存储少量的结构化数据。
2、还可以用于单元测试,启动速度快,而且可以关闭持久化功能,每一个用例执行完随即还原到初始状态
3、可以作为缓存,作为NoSQL的一个补充。
特点
1、纯Java编写,不受平台限制
2、只有一个Jar文件,适合作为嵌入式数据库使用
3、提供了一个完善的基于浏览器的Console应用
4、支持标准的sql和jdbc
5、支持内嵌模式,服务器模式和集群
二、下载安装
下载地址
http://www.h2database.com/html/main.html
我们可以下载win安装包,也可以直接下载zip,解压即用。我使用的是ZIP的压缩包。
安装
前面我们说过H2是纯Java编写的,所以在安装H2之前需要配置Java环境,具体Java环境配置这里就不写了。
H2的ZIP安装方式很简单,直接把下载下来的ZIP解压到安装目录下就可以了。
启动H2 bin/h2.bat
三、使用
在Spring Boot环境中配置H2
引入依赖
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
这里还引入了jpa 用来对H2进行操作
服务器模式
其中URL使用的形式表示这里使用的是H2的服务器模式。连接的是我们上面安装的本地的H2数据库,因此我们在启动程序前必须把本地的H2数据库先启动。
URL中指定了数据存放位置,如果数据库test不存在会自动创建。
配置中指定两个SQL脚本,每次启动程序都会重新执行脚本对数据进行初始化,当然我们可以不指定。
schema.sql 创建了一个user表结构
data.sql 向user表插入了三条数据
查看Console
在前面启动H2数据库的时候会自动弹出consol管理页,按程序中指定的URL进行连接即可查看到我们创建的数据
用户名 sa 是默认的用户,密码默认为空。
登入进Console后我们可以查看user表
在配置文件中配置了Web Console的路径,同样我们可以使用这个路径进行登入。
内嵌模式
H2最方便的是只需要一个jar包就可以使用了。前面我们引入H2依赖后其它就可以使用H2了,不需要连接我们本地安装的H2。
可以直接不指定URL
或者修改一URL为:
我们可以使用Web Console连接,连接的url为
jdbc:h2:mem:testdb
当我们没有指定URL的时候,默认的连接的数据库也是testdb 之前看教程说在把日志改成DEBUG可以看到连接的URL,但我试了还是没有找到,只只根据教程上的URL也连接,确定连接上了对应的数据库