AdSense

網頁

2020/8/26

Spring Boot H2 Database Web Console

Spring Boot使用H2資料庫時自動配置了網頁控制台(web console)圖形化管理介面,使用方式如下。

專案的application.properties設定。

application.properties

#context path
server.servlet.context-path=/demo
#port
server.port=8080

#H2 DataSource
spring.datasource.url=jdbc:h2:mem:testdb
spring.datasource.driverClassName=org.h2.Driver
spring.datasource.username=sa
spring.datasource.password=12345

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

注意Spring Boot 2.3.0開始spring.datasource.generate-unique-name預設為true,因此H2資料庫名稱是亂數產生,不再為預設的testdb,所以設定spring.datasource.url=jdbc:h2:mem:testdb指定資料庫名稱為testdb

不設定資料庫名稱的話可在啟動時的log找到產生的亂術資料庫名稱,例如下面的ec6b9859-df9f-48ca-8dd4-2a4eb3b21bab

2020-12-31 14:25:04.360  INFO 10640 --- [           main] c.z.h.HikariDataSource                   : HikariPool-1 - Starting...
2020-12-31 14:25:04.588  INFO 10640 --- [           main] c.z.h.HikariDataSource                   : HikariPool-1 - Start completed.
2020-12-31 14:25:04.595  INFO 10640 --- [           main] o.s.b.a.h.H2ConsoleAutoConfiguration     : H2 console available at '/h2-console'. Database available at 'jdbc:h2:mem:ec6b9859-df9f-48ca-8dd4-2a4eb3b21bab'

注意範例專案的context path為/demo,所以本機的H2 web console路徑為http://localhost:8080/demo/h2-console/

spring.h2.console.enabled必須設為true開啟web console功能。

spring.h2.console.path可修改預設的位址。
spring.h2.console.settings.trace設定是否輸出Trace log。
spring.h2.console.settings.web-allow-others設定是否可遠端登入web console。

啟動專案,然後在瀏覽器url位址輸入http://localhost:8080/demo/h2-console/進入web console登入頁面。

登入設定如下,

  • [Driver Class]=org.h2.Driver
  • [JDBC URL]=jdbc:h2:mem:testdb
  • [UserName]=sa
  • [Password]=12345



登入後控制台畫面如下,使用方式跟資料庫管理軟體一樣。



參考Github


沒有留言:

AdSense