日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

h2 不能访问localhost_SpringBoot2.x系列教程44--H2数据库详解及搭建Web控制台

發布時間:2025/4/5 javascript 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 h2 不能访问localhost_SpringBoot2.x系列教程44--H2数据库详解及搭建Web控制台 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

SpringBoot2.x系列教程44--H2數據庫詳解及搭建Web控制臺

作者:一一哥

我在上一章節中講解了Spring Boot中整合Mybatis,接下來我給大家介紹一款內存數據庫--H2。

H2作為一款內存數據庫,適合開發階段調試代碼使用,并不適用于生產階段。

一. H2數據庫簡介

1. H2概述

H2 數據庫是一個用 Java 開發的嵌入式(內存級別)數據庫,它本身只是一個類庫,也就是只有一個 jar 文件,可以直接嵌入到項目中。

H2數據庫又被稱為內存數據庫,因為它支持在內存中創建數據庫和表。所以如果我們使用H2數據庫的內存模式,那么我們創建的數據庫和表都只是保存在內存中,一旦服務器重啟,那么內存中的數據庫和表就不存在了。

2. H2的用途:

H2 主要有如下三個用途:

  • <1>. 最常使用的用途就在于可以同應用程序一起打包發布,可以非常方便地存儲少量的結構化數據;
  • <2>. 可以用于單元測試。啟動速度快,而且可以關閉持久化功能,每一個用例執行完隨即還原到初始狀態;
  • <3>. 可以作為緩存,即當做內存數據庫,作為NoSQL的一個補充。當某些場景下數據模型必須為關系型,可以拿它充當Memcached使用,作為后端MySQL/Oracle的一個緩沖層,緩存一些不經常變化但需要頻繁訪問的數據,比如字典表、權限表。

3. H2的3種運行模式

  • <1>. 內嵌模式(Embedded Mode):使用 JDBC 的本地連接。在內嵌模式下,應用程序和數據庫在同一個JVM中,通過JDBC進行連接。可以實現持久化,但同時只能有一個客戶端連接。內嵌模式性能會比較好。
    這是最快也是最容易的連接方式。缺點是數據庫可能只在任何時候在一個虛擬機(和類加載器)中打開。與所有模式一樣,支持持久性和內存數據庫。對并發打開數據庫的數量或打開連接的數量沒有限制。

  • <2>. 服務器模式(Server Mode):使用 JDBC 或 ODBC 在 TCP/IP 上的遠程連接。使用服務器模式和內嵌模式一樣,只不過它可以跑在另一個進程里。
    服務器模式比嵌入式模式慢,因為所有數據都通過TCP/IP傳輸。與所有模式一樣,支持持久性和內存數據庫。對每個服務器并發打開的數據庫數量或打開連接的數量沒有限制。

  • <3>. 混合模式: 混合模式是內嵌模式和服務器模式的組合。第一個應用通過內嵌模式與數據庫建立連接,同時也作為一個服務器啟動,于是另外的應用(運行在不同的進程或是虛擬機上)可以同時訪問同樣的數據。第一個應用程序的本地連接與嵌入式模式的連接性能一樣的快,而其它連接理論上會略慢。
    服務器可以從應用程序內(使用服務器API)啟動或停止,或自動(自動混合模式)。當使用自動混合模式時,所有想要連接到數據庫的客戶端(無論是本地連接還是遠程連接)都可以使用完全相同的數據庫URL來實現。

4. H2的2種連接方式

  • <1>. 以嵌入式(本地)連接方式連接H2數據庫: 這種連接方式默認情況下只允許有一個客戶端連接到H2數據庫。當有客戶端連接到H2數據庫之后,此時數據庫文件就會被鎖定,那么其他客戶端就無法再連接了。
連接語法: jdbc:h2:[file:][<path>]<databaseName>例如: //連接位于用戶目錄下的test數據庫 jdbc:h2:~/testjdbc:h2:file:/data/samplejdbc:h2:file:E:/H2/gacl(Windows only)
  • <2>. 使用TCP/IP的服務器模式(遠程連接)方式連接H2數據庫(推薦): 這種連接方式和其他數據庫連接方式類似,是基于Service的形式進行連接的,因此允許多個客戶端同時連接到H2數據庫。
連接語法: jdbc:h2:tcp://<server>[:<port>]/[<path>]<databaseName>范例: jdbc:h2:tcp://localhost/~/test

二. 搭建H2的Web控制臺

2.1 控制臺下載地址

h2 數據庫下載地址:http://www.h2database.com/html/main.html
或者:http://www.h2database.com/html/download.html

我們可以在官網上選擇一個版本進行下載,可以下載安裝器或者直接下載軟件包。

我這里選擇 "Platform-Independent Zip" 版本,這是一個zip壓縮包,解壓后即可使用,既可用于 Windows 平臺,也可用于 Linux 平臺。

2. H2軟件包目錄結構

h2
 |---bin
 | |---h2-1.1.116.jar  //H2數據庫的jar包(驅動也在里面)
 | |---h2.bat  //Windows控制臺啟動腳本
 | |---h2.sh  //Linux控制臺啟動腳本
 | |---h2w.bat  //Windows控制臺啟動腳本(不帶黑屏窗口)
 |---docs  //H2數據庫的幫助文檔(內有H2數據庫的使用手冊)
 |---service  //通過wrapper包裝成服務。
 |---src  //H2數據庫的源代碼
 |---build.bat  //windows構建腳本
 |---build.sh  //linux構建腳本

3. windows下啟動軟件

我們可以進入到h2的bin目錄下,點擊h2.bat或者h2w.bat,運行軟件。
我這里選擇的是點擊h2w.bat,該方式會在后臺運行。

4. Linux下啟動軟件

如果是在 Linux 環境下,可運行./h2.sh 文件來啟動數據庫服務,但不建議這樣直接啟動,因為需要帶一些參數,需要進行如下修改:

1).復制h2.sh為h2_server.sh文件;2).編輯h2_server.sh,如下:#!/bin/sh dir=$(dirname"$0") java -cp "$dir/h2-1.4.197.jar:$H2DRIVERS:$CLASSPATH" org.h2.tools.Server -tcpAllowOthers -webAllowOthers -webPort 8082 "$@"3).說明:org.h2.tools.Server: 以服務器模式啟動;-tcpAllowOthers: 允許遠程機器通過TCP方式訪問;-webAllowOthers: 允許遠程機器通過瀏覽器訪問;-webPort 8082: 默認的訪問端口(8082為未被占用的端口,如果此端口已經被其他端口占用,則改為其他端口);4).具體的運行方式:chmod修改文件權限;輸入nohup ./h2_server.sh & 回車,這樣可以后臺運行;nohup 命令可以在我們退出賬戶之后繼續運行相應的進程,nohup 就是不掛起的意思(no hang up),& 表示讓該進程實現后臺運行,該命令的一般形式為: # nohup command &

5. 創建h2數據庫

5.1 創建數據庫

我們可以在windows窗口右下角,右鍵點擊H2控制臺的圖標,選擇”Create a new database...“,創建一個新的數據庫。

然后進入到控制臺設置界面,設置數據庫的存放路徑,訪問的用戶名和密碼,然后創建出數據庫。

設置url,用戶名密碼,然后點擊連接或者測試連接,登錄進去。

注:

"~" 這個符號在window操作系統下代表當前登錄到操作系統的用戶對應的用戶目錄,與 Linux 系統中的意義相同,代表用戶家目錄。

5.2 數據庫配置

我們也可以點擊”配置“按鈕,進入到H2的配置界面,這里可以設置端口號等信息;
點擊”工具“,可以對H2數據庫進行備份、還原、恢復、集群、運行腳本、刪除文件等操作。

5.3 進入到數據庫管理界面

當我們點擊H2的”連接“按鈕,當用戶名密碼正確的情況下,就可以成功地進入到H2的web控制臺界面。

附錄:

H2 數據庫不同模式連接字串

總結

以上是生活随笔為你收集整理的h2 不能访问localhost_SpringBoot2.x系列教程44--H2数据库详解及搭建Web控制台的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。