内存数据库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}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容