1. 程式人生 > >SpringBoot使用H2內嵌數據庫

SpringBoot使用H2內嵌數據庫

只需要 java [] url roo cat service user 接口規範

1.驅動

我們知道,JDBC是JDK自帶的接口規範,不同的數據庫有不同的實現,只需要引入相應的驅動包即可。

在使用MySQL數據庫時,引入的是MySQL驅動,相應的,使用H2數據庫時,也需要引入H2驅動包:

<dependency>
    <groupId>com.h2database</groupId>
    <artifactId>h2</artifactId>
    <scope>runtime</scope>
</dependency>

<!--
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <scope>runtime</scope>
</dependency>
-->

2.配置

在SpringBoot的application.properties文件配置相應屬性:

spring.datasource.driver-class-name=org.h2.Driver
spring.datasource.url=jdbc:h2:~/folder
spring.datasource.username=root
spring.datasource.password=123456

JDBC URL的作用可以決定H2是用內存還是磁盤文件存儲數據等,詳細介紹如下:

本地文件

連接語法([] 可選,<>可變):

jdbc:h2:[file:][<path>]<databaseName>

例如:

jdbc:h2:~/test       //連接位於用戶目錄下的test數據庫

jdbc:h2:file:/data/sample

jdbc:h2:file:E:/H2/gacl  //只在Windows下使用

在Window操作系統下,"~"這個符號代表的就是當前登錄到操作系統的用戶對應的用戶目錄,比如我當前是使用Administrator用戶登錄操作系統的,所以在"C:\Documents and Settings\Administrator.h2"目錄中就可以找到test數據庫對應的數據庫文件了。

內存數據庫

連接語法:

jdbc:h2:mem:<databasename>

示例:

jdbc:h2:mem:test_mem

遠程連接

這種連接方式就和其他數據庫類似了,是基於Service的形式進行連接的,因此允許多個客戶端同時連接到H2數據庫。

連接語法:

jdbc:h2:tcp://<server>[:<port>]/[<path>]<databaseName>

範例:

jdbc:h2:tcp://localhost/~/test  //用戶目錄下

jdbc:h2:tcp://localhost/E:/H2/gacl  //指定目錄

jdbc:h2:tcp://localhost/mem:gacl  //內存數據庫

然後,就可以像使用MySQL一樣的使用H2了。

擴展

https://www.cnblogs.com/xuyatao/p/7080095.html

SpringBoot使用H2內嵌數據庫