H2
H2 是一个轻量级的 Java 内存数据库,常用于开发和测试环境。
依赖
xml
<dependency>
<groupId>org.dromara.autotable</groupId>
<artifactId>auto-table-strategy-h2</artifactId>
<version>2.5.10</version>
</dependency>测试版本
- H2 2.2.220
配置项
yaml
auto-table:
h2:
admin-user:
admin-password:连接配置
yaml
spring:
datasource:
url: jdbc:h2:mem:testdb;DB_CLOSE_DELAY=-1
driver-class-name: org.h2.Driver
username: sa
password:常用连接模式:
- 内存模式:
jdbc:h2:mem:dbname - 文件模式:
jdbc:h2:file:./data/dbname - 服务器模式:
jdbc:h2:tcp://localhost/~/dbname
类型映射
H2 兼容多种数据库语法,AutoTable 使用标准 SQL 类型:
| Java 类型 | H2 类型 |
|---|---|
String | varchar(255) |
Integer | int |
Long | bigint |
Boolean | boolean |
Double | double |
BigDecimal | decimal(10,2) |
LocalDateTime | timestamp |
LocalDate | date |
byte[] | blob |
注意事项
大小写
H2 默认将标识符转为大写。AutoTable 使用双引号包裹标识符,保持与实体定义一致。
内存模式
使用内存模式时,应用停止后数据会丢失。设置 DB_CLOSE_DELAY=-1 可在连接关闭后保持数据库。
适用场景
- 本地开发
- 单元测试
- 集成测试
- 演示环境
