內(nèi)存數(shù)據(jù)庫h2接入springboot2.1.2

接入原因

本地環(huán)境做測試時,沒有相關數(shù)據(jù)庫連接,可以使用內(nèi)存數(shù)據(jù)庫h2代替

默認連接池

springboot2默認使用了Hikari連接池。

h2數(shù)據(jù)庫需要依賴

可選: actuator、lombok
必選: web、jdbc

數(shù)據(jù)庫初始化

resources文件夾下放schema.sql和data.sql用來初始化數(shù)據(jù),例如:
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

- 數(shù)據(jù)庫配置和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}

最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

友情鏈接更多精彩內(nèi)容