JAVA 項目中使用 H2 數據庫


為什么要使用H2數據庫

H2數據庫是可以嵌入到JAVA項目中的,因為只需要導入一個jar包即可,所以非常的方便。

項目中導入H2

將H2的jar包放到classpath里即可,我是用的maven,maven的配置如下

       <dependency> <groupId>com.h2database</groupId> <artifactId>h2</artifactId> <version>1.4.192</version> </dependency> 

版本我用的現在的最新版

然后需要修改JDBC的配置,主要是下面兩個屬性跟其他數據庫(如MySQL)不同,其他都一樣

<property name="connection.driver_class">org.h2.Driver</property> <property name="connection.url">jdbc:h2:tcp://localhost/~/test</property> 

上面jdbc:h2:tcp://localhost/~/test中的test是數據庫的名字,H2默認如果數據庫不存在的話,會自動創建一個數據庫的。

我用的是hibernate,所以還要修改一下Dialect的配置

<property name="dialect">org.hibernate.dialect.H2Dialect</property> 

到這為止,項目里面就可以使用H2了。

使用WEB控制台管理H2數據庫

建表、建數據的話,可以通過H2自帶的WEB控制台來做(當然H2也提供命令行的方式)
WEB控制台可以通過命令行來啟動,但為了方便,可以從H2官網上下載一個安裝包,運行里面的bat文件直接啟動。

 
H2\bin目錄

這是H2安裝完以后bin目錄下的內容,運行 h2w.bat打開web控制台
 
H2 web控制台Login畫面

 

Connect

之后的玩法就跟其他數據庫差不多了,可以點擊下面的Sample SQL Script部分來感受一下建表和插入數據等,help命令,可以顯示所有的命令。關於命令的詳細可以去H2官網里面看。

 
H2 控制台

 

關於H2 數據庫的連接方式

連接H2數據庫有以下方式

  • 服務式 (Server)
  • 嵌入式(Embedded)
  • 內存(Memory)

還沒太仔細研究,到目前的理解:
嵌入式的話,就是這個H2數據庫只能給一個應用使用,連接是有排他機制的。當一個應用用嵌入式連接方式連接了以后,其他的應用就不能再連接了。
服務式的話,就跟MySQL、Oracle這種數據庫差不多,服務器單獨運行,可以多個客戶端同時連接。
內存方式,顧名思義,數據僅保持在內存中

嵌入式和服務式主要體現在JDBC連接的URL方式不同,上面例子中給的是服務式的。

  • 服務式 (Server)
    jdbc:h2:tcp://localhost/~/test
  • 嵌入式(Embedded)
    jdbc:h2:~/test
  • 內存式(Memory)
    jdbc:h2:tcp://localhost/mem:test

這個不用記,在H2控制台的Login畫面選擇連接方式,就會生成不同的URL



作者:枝頭殘月野狼嚎嗷嗷嗚
鏈接:https://www.jianshu.com/p/5bcee8eb170c
來源:簡書
簡書著作權歸作者所有,任何形式的轉載都請聯系作者獲得授權並注明出處。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM