如何在Spring Boot中启用H2数据库服务器模式

时间:2019-04-24 12:24:48

标签: java spring-boot spring-data-jpa h2

我正在使用带有Spring Boot文件的H2数据库。

在我的application.properties中,我有以下条目:

spring.datasource.url = jdbc:h2:file:c:/ Testprojekte / spring-boot-h2-db

但是现在我希望能够在运行应用程序时查看数据库,目前这是不可能的,因为我需要使数据库以服务器模式运行。在文档中,我发现必须将AUTO_SERVER = TRUE添加到URL,但这不能解决问题。

那么,我必须更改什么才能能够同时从不同的进程连接到该数据库?

感谢您的帮助! 托尔斯滕

2 个答案:

答案 0 :(得分:2)

您可以使h2 Web控制台使用浏览器中的Web界面访问内存或文件数据库中的h2。

因此在application.properties中添加以下行:

move

然后重新启动spring boot应用程序,并使用浏览器检查spring.h2.console.enabled=true spring.h2.console.path=/h2-console

答案 1 :(得分:1)

您可以将H2 TCP服务器作为Bean启动:

<dependency>
    <groupId>com.h2database</groupId>
    <artifactId>h2</artifactId>
    <!-- <scope>runtime</scope> -->
</dependency>
@SpringBootApplication
public class Application {

    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }

    @Bean(initMethod = "start", destroyMethod = "stop")
    public Server h2Server() throws SQLException {
        return Server.createTcpServer("-tcp", "-tcpAllowOthers", "-tcpPort", "9092");
    }
}

然后使用以下参数(密码-空)从您的IDE连接到它:

url: jdbc:h2:tcp://localhost:9092/mem:testdb
user: sa

更多信息是herehere