為什么要使用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目錄下的內容,運行 h2w.bat打開web控制台

點Connect
之后的玩法就跟其他數據庫差不多了,可以點擊下面的Sample SQL Script部分來感受一下建表和插入數據等,help命令,可以顯示所有的命令。關於命令的詳細可以去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
來源:簡書
簡書著作權歸作者所有,任何形式的轉載都請聯系作者獲得授權並注明出處。