测试版本:2.1.214
官网
嵌入式数据库
- 不需要安装数据库客户端服务端,该数据库为一个Jar包,项目直接引用即可
- 可以用作内存数据库,也可用作文件数据库
- 支持SQL语法
引入
maven
<!-- 没有JDBC不会创建H2文件 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<scope>runtime</scope>
</dependency>
Gradle
runtimeOnly 'com.h2database:h2'
配置
spring:
# 数据库
datasource:
# url: jdbc:h2:file:~/h2/test
# ./ 表示Jar包所在目录
url: jdbc:h2:file:./h2/fancy
driver-class-name: org.h2.Driver
username: fanjun
password: fanjun
# web访问,浏览器访问配置的路径可以查询数据库
h2:
console:
settings:
web-allow-others: true
path: /h2
enabled: true
一个有意思的事情
在做数据正向工程的时候,需要对H2和MySQL数据库进行兼容,除了数据库不一样以外,其他环境均一摸一样,执行的过程中偶然发现以下结果:


H2数据库居然比MySQL查询快!
虽然这只是简单的查询,不是复杂场景,但是速度居然快了6倍
IDEA连接H2
通常对于数据库我们都是用的是逆向工程,即数据库设计完成后,数据库中就有了表,而IDEA可以根据表进行逆向生成实体类,而前提是连接了数据库
第一步:选择驱动,在IDEA的右侧找到Database然后选择H2,如果网络好可以直接先下载驱动,不过不建议(版本与项目不一致)
直接选中Maven下载的H2Jar包就行
第二步:连接URL,这里需要注意不要启动项目,否则文件会被占用,无法连接