SpringBoot配置使用H2数据库的简单教程
SpringBoot配置使用H2数据库的简单教程
SpringBoot + H2内置数据库
# 一.配置运行
# 1、配置
1.1、pox.xml
<!--Web依赖,用于H2 Web Console-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!--H2数据库依赖-->
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
</dependency>
<!--如果需要执行初始化脚本,则需要该依赖,并且会传递依赖HikariCP数据库连接池-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
DataSourceInitializationConfiguration是初始化脚本的自动配置类,配置条件之一是@ConditionalOnClass(DatabasePopulator.class),该类存在于spring-jdbc,spring-boot-starter-jdbc传递依赖spring-jdbc
# 1.2、application.properties
# 可执行程序的当前路径
spring.datasource.url = jdbc:h2:~/dbFile;AUTO_SERVER=TRUE
# 数据库连接设置
spring.datasource.type = com.zaxxer.hikari.HikariDataSource
spring.datasource.driverClassName = org.h2.Driver
spring.datasource.username = sa
spring.datasource.password = sa
# 进行该配置后,每次启动程序,程序都会运行初始化脚本文件文件,对数据库的结构进行操作
spring.sql.init.mode = always
# 初始化脚本
spring.sql.init.schema-locations = classpath:db/schema.sql
spring.sql.init.data-locations = classpath:db/data.sql
# 表明使用的数据库平台是H2
spring.sql.init.platform = H2
# 进行该配置后,H2 Web Consloe就可以在远程访问了,否则只能在本机访问
spring.h2.console.settings.web-allow-others = true
# 进行该配置,你就可以通过YOUR_URL/h2访问H2 Web Consloe,YOUR_URL是你程序的访问URl
spring.h2.console.path = /h2
# 进行该配置,程序开启时就会启动H2 Web Consloe,默认值false
spring.h2.console.enabled = true
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# 1.3、schema.sql
CREATE TABLE USER_INF(id INTEGER PRIMARY KEY,name VARCHAR(100),sex VARCHAR(2));
1
# 1.4、data.sql
INSERT INTO USER_INF VALUES(1, 'tom', '男');
INSERT INTO USER_INF VALUES(2, 'jack', '女');
INSERT INTO USER_INF VALUES(3, 'marry', '男');
INSERT INTO USER_INF VALUES(4, 'lucy', '男');
1
2
3
4
2
3
4
# 二.启动
启动 SpringApplication,会在当前目录下创建H2数据库,如下: 登录 H2 Web Console http://localhost:8080/h2,按照 application.properties 中的配置来填写访问参数,如下: