Java 如何在Spring引导测试中连接到内存中的HSQLDB以进行查询

Java 如何在Spring引导测试中连接到内存中的HSQLDB以进行查询,java,spring,spring-boot,hsqldb,Java,Spring,Spring Boot,Hsqldb,我有一个带有mysql db的Spring启动应用程序,但是在运行测试时使用了HSQLDB是否可以连接到此内存中数据库以执行查询? 要运行它,我必须在测试/应用程序中更改什么?我已经尝试运行hsql数据库管理器并连接到此数据库,但它似乎是空的,但实际上它不是空的,因为在应用程序中,我正在调试代码并从该数据库读取数据。您有两个选项 一种选择是在春季启动HyperSQL(HSQLDB)服务器。此选项将在此处的回答中讨论,然后在单独的Java进程中启动HyperSQL数据库管理器Swing,并使用UR

我有一个带有mysql db的Spring启动应用程序,但是在运行测试时使用了HSQLDB是否可以连接到此内存中数据库以执行查询? 要运行它,我必须在测试/应用程序中更改什么?我已经尝试运行hsql数据库管理器并连接到此数据库,但它似乎是空的,但实际上它不是空的,因为在应用程序中,我正在调试代码并从该数据库读取数据。

您有两个选项

一种选择是在春季启动HyperSQL(HSQLDB)服务器。此选项将在此处的回答中讨论,然后在单独的Java进程中启动HyperSQL数据库管理器Swing,并使用URL连接到HyperSQL服务器:
jdbc:hsqldb:hsql://localhost/testdb

另一种选择是在春季启动HyperSQL数据库ManageSwing。您可以修改为服务器提供的bean模板,并启动
org.hsqldb.util.DatabaseManagerSwing
,而不是服务器。在这种情况下,DatabaseManager应该与URL连接:
jdbc:hsqldb:mem:testdb


注意,在这两种情况下,您都需要指定
jdbc:hsqldb:mem:testdb
URL作为Spring数据源。

是否使用SpringDataJpaTest?我使用的是SpringDataJPA,但我不确定是否使用的是SpringDataJpaTest。。。我有spring上下文的集成测试。你做了一个提交吗?这不应该被关闭。对于了解此设置的人来说,问题很清楚,答案是将HSQLDB作为服务于内存中数据库的服务器运行。