最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

在SpringBoot中集成H2數(shù)據(jù)庫(kù)的完整指南

 更新時(shí)間:2024年10月29日 11:16:30   作者:編碼行者  
Spring Boot是一個(gè)簡(jiǎn)化企業(yè)級(jí)Java應(yīng)用程序開發(fā)的強(qiáng)大框架,H2數(shù)據(jù)庫(kù)是一個(gè)輕量級(jí)的、開源的SQL數(shù)據(jù)庫(kù),非常適合用于開發(fā)和測(cè)試,本文將指導(dǎo)您如何在Spring Boot應(yīng)用程序中集成H2數(shù)據(jù)庫(kù),并探索一些高級(jí)配置選項(xiàng),需要的朋友可以參考下

引言

Spring Boot是一個(gè)簡(jiǎn)化企業(yè)級(jí)Java應(yīng)用程序開發(fā)的強(qiáng)大框架。H2數(shù)據(jù)庫(kù)是一個(gè)輕量級(jí)的、開源的SQL數(shù)據(jù)庫(kù),非常適合用于開發(fā)和測(cè)試。本文將指導(dǎo)您如何在Spring Boot應(yīng)用程序中集成H2數(shù)據(jù)庫(kù),并探索一些高級(jí)配置選項(xiàng)。

依賴關(guān)系

首先,我們需要在項(xiàng)目的pom.xml文件中添加H2數(shù)據(jù)庫(kù)和Spring Data JPA的依賴關(guān)系:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
    <groupId>com.h2database</groupId>
    <artifactId>h2</artifactId>
    <scope>runtime</scope>
</dependency>

數(shù)據(jù)庫(kù)配置

Spring Boot默認(rèn)配置應(yīng)用程序連接到一個(gè)內(nèi)存存儲(chǔ)的H2數(shù)據(jù)庫(kù),用戶名為sa,密碼為空。我們可以通過在application.properties文件中添加以下屬性來自定義這些設(shè)置:

spring.datasource.url=jdbc:h2:mem:testdb
spring.datasource.driverClassName=org.h2.Driver
spring.datasource.username=sa
spring.datasource.password=password
spring.jpa.database-platform=org.hibernate.dialect.H2Dialect

或者,我們也可以使用application.yml文件進(jìn)行配置:

spring:
  datasource:
    url: jdbc:h2:mem:mydb
    username: sa
    password: password
    driverClassName: org.h2.Driver
  jpa:
    database-platform: org.hibernate.dialect.H2Dialect

數(shù)據(jù)庫(kù)持久化

默認(rèn)情況下,H2數(shù)據(jù)庫(kù)的內(nèi)存存儲(chǔ)在應(yīng)用程序重啟后會(huì)導(dǎo)致數(shù)據(jù)丟失。為了解決這個(gè)問題,我們可以將數(shù)據(jù)庫(kù)存儲(chǔ)為文件:

spring.datasource.url=jdbc:h2:file:/data/demo

或者在YAML文件中:

spring:
  datasource:
    url: jdbc:h2:file:/data/demo

數(shù)據(jù)庫(kù)操作

在Spring Boot中執(zhí)行CRUD操作與在其他SQL數(shù)據(jù)庫(kù)中類似。我們可以使用JPA倉(cāng)庫(kù)接口和實(shí)體類來管理數(shù)據(jù)庫(kù)操作。

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

我們可以使用SQL腳本來初始化數(shù)據(jù)庫(kù)。在src/main/resources目錄下創(chuàng)建一個(gè)SQL文件,填充一些示例數(shù)據(jù):

INSERT INTO countries (id, name) VALUES (1, 'USA');
INSERT INTO countries (id, name) VALUES (2, 'France');
INSERT INTO countries (id, name) VALUES (3, 'Brazil');
INSERT INTO countries (id, name) VALUES (4, 'Italy');
INSERT INTO countries (id, name) VALUES (5, 'Canada');

Spring Boot會(huì)自動(dòng)運(yùn)行這個(gè)文件來初始化數(shù)據(jù)庫(kù)。我們可以通過將spring.sql.init.mode屬性設(shè)置為never來禁用這種默認(rèn)行為。此外,還可以配置多個(gè)SQL文件來加載初始數(shù)據(jù)。

Hibernate和data.sql

默認(rèn)情況下,data.sql腳本在Hibernate初始化之前執(zhí)行。這使得基于腳本的初始化與Flyway和Liquibase等其他數(shù)據(jù)庫(kù)遷移工具保持一致。當(dāng)我們每次重新創(chuàng)建Hibernate生成的模式時(shí),我們需要設(shè)置一個(gè)額外的屬性:

spring.jpa.defer-datasource-initialization=true

這會(huì)修改默認(rèn)的Spring Boot行為,并在Hibernate生成模式之后填充數(shù)據(jù)。

訪問H2控制臺(tái)

H2提供了一個(gè)嵌入式的GUI控制臺(tái),用于瀏覽數(shù)據(jù)庫(kù)內(nèi)容和運(yùn)行SQL查詢。要啟用H2控制臺(tái),在application.properties中添加以下屬性:

spring.h2.console.enabled=true

或者在application.yml中:

spring:
  h2:
    console:
      enabled: true

啟動(dòng)應(yīng)用程序后,訪問http://localhost:8080/h2-console即可使用H2控制臺(tái)。在登錄頁(yè)面使用配置的數(shù)據(jù)庫(kù)URL和憑據(jù)進(jìn)行登錄。

進(jìn)一步配置H2控制臺(tái)

我們可以通過在項(xiàng)目的application.properties中指定以下屬性來進(jìn)一步配置控制臺(tái):

spring.h2.console.path=/h2-console
spring.h2.console.settings.trace=false
spring.h2.console.settings.web-allow-others=false

或者在YAML配置中:

spring:
  h2:
    console:
      path: /h2-console
      settings:
        trace: false
        web-allow-others: false

H2數(shù)據(jù)庫(kù)URL選項(xiàng)

H2數(shù)據(jù)庫(kù)URL提供了多種選項(xiàng)以進(jìn)一步自定義數(shù)據(jù)庫(kù)行為。例如:

  • DB_CLOSE_DELAY=-1:確保在JVM運(yùn)行期間數(shù)據(jù)庫(kù)保持打開狀態(tài)。
  • DB_CLOSE_ON_EXIT=FALSE:即使JVM關(guān)閉,數(shù)據(jù)庫(kù)也保持打開狀態(tài)。
  • AUTO_RECONNECT=TRUE:允許在連接丟失時(shí)自動(dòng)重新連接。
  • MODE=PostgreSQL:將H2數(shù)據(jù)庫(kù)設(shè)置為PostgreSQL兼容模式。

示例配置:

spring.datasource.url=jdbc:h2:mem:testdb;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=FALSE;AUTO_RECONNECT=TRUE;MODE=PostgreSQL;

結(jié)論

H2數(shù)據(jù)庫(kù)與Spring Boot的集成非常流暢,提供了一個(gè)輕量級(jí)且功能豐富的解決方案,非常適合開發(fā)和測(cè)試。通過本文的指南,您應(yīng)該能夠輕松地在Spring Boot應(yīng)用程序中集成H2數(shù)據(jù)庫(kù),并利用其強(qiáng)大的功能。

以上就是在SpringBoot中集成H2數(shù)據(jù)庫(kù)的完整指南的詳細(xì)內(nèi)容,更多關(guān)于SpringBoot集成H2數(shù)據(jù)庫(kù)的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

最新評(píng)論

九台市| 肥东县| 南通市| 理塘县| 克拉玛依市| 蓝山县| 手机| 布拖县| 讷河市| 琼结县| 义马市| 龙胜| 甘肃省| 莱西市| 东源县| 漳浦县| 旬邑县| 井陉县| 东台市| 永吉县| 横峰县| 沁阳市| 祁东县| 富平县| 隆昌县| 商丘市| 苍梧县| 固安县| 辉南县| 新河县| 靖江市| 保山市| 静安区| 荃湾区| 自治县| 那坡县| 宿松县| 玉树县| 东方市| 正阳县| 尼玛县|