希望在 Spring Boot 中配置 H2 数据库来进行功能测试。
如何进行配置能来让启动的时候自动载入数据和进行测试?
如果你的 Spring 项目中没有添加 H2 的依赖,你需要在 Maven 中添加。
使用的参数为:
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<version>1.4.199</version>
</dependency>
在 Spring 配置文件中进行一些配置能够在 Spring Boot 中载入数据并且进行调用。
我们可以使用下面的一些配置:
spring.h2.console.enabled=true
spring.h2.console.path=/h2-console
spring.datasource.driverClassName=org.h2.Driver
spring.datasource.url=jdbc:h2:mem:scodb;DB_CLOSE_ON_EXIT=FALSE
spring.datasource.username=sa
spring.datasource.schema=classpath:db/schema.sql
配置和参数的说明。
在 Spring Boot 后启用控制台,用户可以通过 Web 界面来访问 H2 的控制台。
网页界面中通过 URL 可以访问控制台的地址,这个地址可以自由和任意修改。
H2 的 JDBC 驱动名称,你需要配置这个才能够通过 JDBC 访问启动后的 H2 数据库。
Spring 项目中数据源的连接参数,在这个参数中你定义了一个数据库的名称为 scodb,在通过网页界面进行访问的时候,会提醒你输入连接参数。
在输入连接参数的时候,你需要输入和上面连接参数一致的配置。
访问数据库的用户名,你可以输入任何名称,在通过网页访问的时候,你需要输入的用户名为这个。
如果你不指定密码参数的话,那么密码就为空。
Spring 启动的时候需要载入的 sql 文件。这个文件将会在 Spring 启动后被执行,创建数据库表和插入测试数据等。
假设我们的 Hibernate 使用的是 HikariCP 连接池。
我们需要为你的 Hibernate 配置以下的连接参数。
hibernate.connection.driver_class=org.h2.Driver
hibernate.connection.url=jdbc:h2:mem:scodb;DB_CLOSE_ON_EXIT=FALSE
hibernate.hikari.dataSource.user=sa
hibernate.dialect = org.hibernate.dialect.H2Dialect
上面的连接参数为Hibernate 需要的,你需要先进行配置,才能让 HikariCP 连接池获得数据源。
通过下面的配置来对 Hibernate 的连接池参数进行配置。
<property name="hibernate.connection.provider_class">com.zaxxer.hikari.hibernate.HikariConnectionProvider
</property>
<property name="hibernate.hikari.minimumIdle">5</property>
<property name="hibernate.hikari.maximumPoolSize">10</property>
<property name="hibernate.hikari.idleTimeout">30000</property>
首先你需要提供连接池的 类。
这个配置参数连接池中保持的最少的连接数。
连接池中保持最多的连接数
在连接池中一个连接允许最长被限制的时间。
如果一切顺利,当你启动 Spring Boot 的时候,你应该能够在控制台上看到连接池中的连接保持情况。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。