内存数据库h2接入springboot2.1.2

接入原因

本地环境做测试时,没有相关数据库连接,可以使用内存数据库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}

你可能感兴趣的:(内存数据库h2接入springboot2.1.2)