接入原因
本地环境做测试时,没有相关数据库连接,可以使用内存数据库h2代替
默认连接池
springboot2默认使用了Hikari连接池。
h2数据库需要依赖
可选: actuator、lombok
必选: web、jdbc
数据库初始化
resources文件夹下放schema.sql和data.sql用来初始化数据,例如:
schema.sql:
CREATE TABLE FOO (ID INT PRIMARY KEY, BAR VARCHAR(64));
data.sql:
INSERT INTO FOO (ID, BAR) VALUES (1, 'aaa');
INSERT INTO FOO (ID, BAR) VALUES (2, 'bbb');
INSERT INTO FOO (ID, BAR) VALUES (3, 'ccc');
配置项
- actuator配置
management.endpoints.web.exposure.include=*
- 日志
spring.output.ansi.enabled=ALWAYS
- 数据库配置和hikari连接池配置,不写使用默认的
spring.datasource.url=jdbc:h2:mem:testdb
spring.datasource.username=sa
spring.datasource.password=
spring.datasource.hikari.maxPoolSize=5
spring.datasource.hikari.minIdle=5
spring.datasource.hikari.idleTimeout=600000
spring.datasource.hikari.connectionTimeout=30000
spring.datasource.hikari.maxLifetime=1800000
测试
@RunWith(SpringRunner.class)
@SpringBootTest
public class DatasourceApplicationTests {
@Autowired
private JdbcTemplate jdbcTemplate;
@Test
public void contextLoads() {
jdbcTemplate.queryForList("select * from foo")
.forEach(System.out::println);
}
}
控制台输出如下:
{ID=1, BAR=aaa}
{ID=2, BAR=bbb}
{ID=3, BAR=ccc}