Java 如何浏览数据库

Java 如何浏览数据库,java,spring,h2,Java,Spring,H2,我在运行时模式的spring应用程序中使用h2 <dependency> <groupId>com.h2database</groupId> <artifactId>h2</artifactId> <scope>runtime</scope> </dependency> com.h2数据库 并通过sa和空白密码浏览(不理解为什么密码为空白,也不知道如何更改密码) 我的桌子在

我在运行时模式的spring应用程序中使用h2

<dependency>
    <groupId>com.h2database</groupId>
    <artifactId>h2</artifactId>
    <scope>runtime</scope>
</dependency>

com.h2数据库
并通过sa和空白密码浏览(不理解为什么密码为空白,也不知道如何更改密码)

我的桌子在哪里?我是否连接到正确的实例

更新
我看到当我停止我的Spring应用程序时,我仍然能够通过H2控制台浏览到H2,我希望它会离线。。。我不明白

如果您使用的是内存中的h2数据库,那么就使用下面的JDBC url

jdbc:h2:mem:testdb

检查post提供的配置

我发现我只能在使用文件数据库时执行此操作

url: jdbc:h2:~/nexin;DB_CLOSE_DELAY=-1;MODE=MySQL;MV_STORE=FALSE;MVCC=FALSE
我使用的是dbvizizer而不是Intelij。

作为
H2

支持以下连接模式:

  • 嵌入式模式(使用JDBC的本地连接)
  • 服务器模式(通过TCP/IP使用JDBC或ODBC的远程连接)
  • 混合模式(同时进行本地和远程连接)
为了能够简单地从两个独立的应用程序连接到数据库,连接模式应为
服务器模式
混合模式
(有关详细信息,请阅读h2文档)。您使用的模式由用于连接到它的连接url决定,在您的情况下,连接url是
jdbc:h2:~/test
,这意味着您正在以
嵌入式模式启动h2。这意味着数据库服务器将从您的应用程序中启动,并且只能由单个JVM访问

TLDR

您只需使用
自动混合模式
功能将模式更改为
混合模式
。为此,只需将您的jdbc url(在两个应用程序中—您的应用程序和客户端应用程序中)更改为:
jdbc:h2:~/databasefile;AUTO_SERVER=TRUE

~/databasefile
是存储实际数据的位置-同样,访问两个连接/应用程序的相同文件很重要

如果使用默认配置的Spring Boot,要更改jdbc url,只需添加以下属性:


spring.datasource.url=jdbc:h2:~/databasefile;AUTO_SERVER=TRUE

它不工作,或者我不明白什么是testdb?这个名称来自哪里?testdb是Spring.ok指定的默认数据库名称。我仍然看不到我的表,我看到的与我所附的图像相同。您看到的是H2浏览器中的内存数据库,而不是您自己应用程序中的嵌入式数据库。不要将H2控制台作为单独的应用程序运行,而是将其嵌入到您自己的应用程序中。请参见:。