之前写博客项目的时候总是很想找一个嵌入式的数据库,可以集成在项目里面。因为很多次项目迁移,导致我的好多博客都因此丢失了,而嵌入在项目里面的数据库使用起来简单,不用准备麻烦的数据库环境等。不知道为什么最近 H2 确是经常被一些项目或者博客提到,搜了下才发现这是一个 Java 开发的,嵌入式数据库,引起了我的兴趣,接下里探索下 H2 数据库吧!
H2 数据库简介
H2 数据库是一个 Java SQL 数据库,主要特点如下:
- 非常快,开源,提供 JDBC API
- 嵌入式数据库服务器,内存数据库
- 占用空间小,只有 2M 大小
Springboot 集成 H2 和 Mybatis
添加依赖
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<version>1.4.200</version>
</dependency>
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.2.0</version>
</dependency>
application.yml 配置如下:
spring:
datasource:
# h2 为文件模式,数据保存地址为 ./data/conch
url: jdbc:h2:file:./data/demo
driver-class-name: org.h2.Driver
username: sa
password:
sql:
init:
# 项目启动初始数据地址
data-locations: classpath:db/*
# 启动模式为,启动初始化数据
mode: always
h2:
console:
enabled: true
在 resources 下创建文件夹 db 用于保存我们初始化 h2 数据库的数据,目录结构如下:
├── data
│ ├── demo.mv.db
│ └── demo.trace.db
├── mvnw
├── mvnw.cmd
├── pom.xml
└── src
├── main
│ ├── java
│ │ └── top
│ └── resources
│ ├── application.yml
│ └── db
└── test
└── java
└── top
项目启动之后访问 http://localhost:8088/h2-console/ 即可登录 h2 浏览器管理页面查看 h2 数据库信息