日韩精品欧美激情国产一区_中文无码精品一区二区三区在线_岛国毛片AV在线无码不卡_亞洲歐美日韓精品在線_使劲操好爽好粗视频在线播放_日韩一区欧美二区_八戒八戒网影院在线观看神马_亚洲怡红院在线色网_av无码不卡亚洲电影_国产麻豆媒体MDX

SpringBoot 集成H2數(shù)據(jù)庫(kù)

時(shí)間:2022-10-06 17:56:49 類型:數(shù)據(jù)庫(kù)
字號(hào):    

  概述h2數(shù)據(jù)庫(kù)

  h2database為我們提供了十分輕量,十分快捷方便的內(nèi)嵌式數(shù)據(jù)庫(kù)

  H2是一個(gè)用Java開(kāi)發(fā)的嵌入式數(shù)據(jù)庫(kù),它本身只是一個(gè)類庫(kù),可以直接嵌入到應(yīng)用項(xiàng)目中。

  可以同應(yīng)用程序打包在一起發(fā)布

  它的另一個(gè)用途是用于單元測(cè)試。啟動(dòng)速度快,而且可以關(guān)閉持久化功能,每一個(gè)用例執(zhí)行完隨即還原到初始狀態(tài)

  提供JDBC訪問(wèn)接口,提供基于瀏覽器的控制臺(tái),可以執(zhí)行sql

  免費(fèi),開(kāi)源,夠快

  還方便了程序剛開(kāi)始dao層單元測(cè)試測(cè)試,不需要搭建oracle,不需要加載mysql,快速測(cè)試寫的dao

  

  SpringBoot整合測(cè)試

<!--h2數(shù)據(jù)庫(kù)-->
<dependency>
    <groupId>com.h2database</groupId>
    <artifactId>h2</artifactId>
    <scope>runtime</scope>
</dependency>

  yml配置

spring:
  datasource:
    #配置h2數(shù)據(jù)庫(kù)的連接地址
    # Embedded 嵌入式
    # Remote (client/server) 遠(yuǎn)程連接
    # In-Memory 內(nèi)存
    url: jdbc:h2:file:F:/java/h2/db/test
    #通過(guò)H2 Database Engine先創(chuàng)建好數(shù)據(jù)庫(kù)https://h2database.com/html/main.html
    #配置JDBC Driver
    driver-class-name: org.h2.Driver
    #配置數(shù)據(jù)庫(kù)用戶名
    username: root
    #配置數(shù)據(jù)庫(kù)密碼
    password: 123456
    #進(jìn)行該配置,程序開(kāi)啟時(shí)就會(huì)啟動(dòng)h2 web consloe。當(dāng)然這是默認(rèn)的,如果你不想在啟動(dòng)程序時(shí)啟動(dòng)h2 web consloe,那么就設(shè)置為false。
  h2:
    console:
      enabled: true
      #進(jìn)行該配置,你就可以通過(guò)YOUR_URL/h2訪問(wèn)h2 web consloe。YOUR_URL是你程序的訪問(wèn)URl。默認(rèn)為/h2-console
      path: /h2
      # 進(jìn)行該配置后,h2 web consloe就可以在遠(yuǎn)程訪問(wèn)了。否則只能在本機(jī)訪問(wèn)。
      settings:
        web-allow-others: true

  數(shù)據(jù)庫(kù)支持多種連接模式和連接設(shè)置,主要有 Embedded 嵌入式,Remote (client/server) 遠(yuǎn)程連接,In-Memory 內(nèi)存

  Embedded 嵌入式

  URL jdbc:h2:?/test表示數(shù)據(jù)庫(kù)存儲(chǔ)在用戶主目錄中以“ test”開(kāi)頭的文件中。 支持絕對(duì)位置,如jdbc:h2:/data/db/test。 在嵌入式模式下,數(shù)據(jù)庫(kù)與應(yīng)用程序以相同的過(guò)程運(yùn)行。 任何時(shí)候都只能有一個(gè)進(jìn)程訪問(wèn)數(shù)據(jù)庫(kù)。 如果您擁有權(quán)限,則不存在的數(shù)據(jù)庫(kù)將自動(dòng)創(chuàng)建。 形式為jdbc:h2:./data/test的URL相對(duì)于當(dāng)前工作目錄(啟動(dòng)應(yīng)用程序的目錄)。 建議使用相對(duì)于?或絕對(duì)位置的位置。

  Remote (client/server) 遠(yuǎn)程連接

  URL jdbc:h2:tcp//localhost/?/test表示通過(guò)TCP / IP連接到此計(jì)算機(jī)上運(yùn)行的H2 TCP服務(wù)器,并在用戶主目錄中打開(kāi)一個(gè)名為test的數(shù)據(jù)庫(kù)。 必須首先啟動(dòng)服務(wù)器。 任意數(shù)量的客戶端都可以連接到同一數(shù)據(jù)庫(kù)。 適用與嵌入式數(shù)據(jù)庫(kù)相同的位置規(guī)則。

  In-Memory 內(nèi)存

  URL jdbc:h2:mem:test意味著打開(kāi)一個(gè)名為“test”的內(nèi)存數(shù)據(jù)庫(kù)。數(shù)據(jù)不持久,當(dāng)最后一個(gè)數(shù)據(jù)庫(kù)連接關(guān)閉時(shí),數(shù)據(jù)會(huì)丟失。多個(gè)線程可以訪問(wèn)同一個(gè)數(shù)據(jù)庫(kù),但是數(shù)據(jù)只能在同一個(gè)進(jìn)程中可見(jiàn)。


     1.jpg

<