简介:H2 是一个使用 Java 编写的数据库,支持内存、文件等多种模式,经常用于项目的测试环境。
一、功能
- 支持全文检索,提供了内置全文检索和使用 Apache Luncene 的全文索引
- 对数据类型和SQL有很好的支持,兼容性好,便于移植
- 支持嵌入式数据库、内存数据库、只读数据库等;
- 能够通过浏览器操控数据库。
二、界面
大致的界面示例如下,启动项目后访问地址固定为【localhost:端口号/h2】:
可切换语言,这里有个注意事项是。连接使用的url、用户名、密码必须与配置文件里的一样才能正常连接成功!这是我的配置文件
server.port=8080
# h2数据库配置
spring.datasource.url=jdbc:h2:~/h2-db
spring.datasource.username=test
spring.datasource.password=
spring.datasource.driverClassName=org.h2.Driver
spring.jpa.show-sql=true
spring.jpa.generate-ddl=true
#spring.jpa.hibernate.ddl-auto=update
##h2 web console设置
spring.datasource.platform=h2
#进行该配置后,h2 web consloe就可以在远程访问了。否则只能在本机访问。
spring.h2.console.settings.web-allow-others=true
#进行该配置,你就可以通过YOUR_URL/h2访问h2 web consloe
spring.h2.console.path=/h2
#进行该配置,程序开启时就会启动h2 web consloe
spring.h2.console.enabled=true
登录成功后显示如下,可做增删改查:
注意事项:这里如果项目没有配置SQL文件可能登录后是没有表信息的,需要在项目的pom文件里配置需执行的SQL。如下:
三、相关配置
1、pom配置
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.2.1.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
</dependency>
</dependencies>
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</pluginManagement>
</build>
<repositories>
<repository>
<id>spring-snapshots</id>
<name>Spring Snapshots</name>
<url>https://repo.spring.io/libs-snapshot-local</url>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
<repository>
<id>spring-milestones</id>
<name>Spring Milestones</name>
<url>https://repo.spring.io/libs-milestone-local</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
<repository>
<id>spring-releases</id>
<name>Spring Releases</name>
<url>https://repo.spring.io/libs-release-local</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
</repositories>
2、属性配置与说明
# 数据库的相关配置
spring.datasource.url=jdbc:h2:~/h2-db
spring.datasource.username=test
spring.datasource.password=
spring.datasource.driverClassName=org.h2.Driver
##h2 web console设置
spring.datasource.platform=h2
#进行该配置后,h2 web consloe就可以在远程访问了。否则只能在本机访问。
spring.h2.console.settings.web-allow-others=true
#进行该配置,你就可以通过YOUR_URL/h2访问h2 web consloe
spring.h2.console.path=/h2
#进行该配置,程序开启时就会启动h2 web consloe
spring.h2.console.enabled=true
jdbc:h2:~/h2-db
: 嵌入式使用姿势,会在用户根目录下生成一个名为h2-db.mv.db
的文件(数据库的schema 和d column就存在里面)jdbc:h2:mem:DBName;DB_CLOSE_DELAY=-1
: 内存模式,应用重启之后数据库会清空jdbc:h2:tcp://localhost/~/test:
支持通过tcp方式,指定一个远程的目录