Maven HSQL单元测试——如何创建多个内存模式?
我希望在web应用程序的DAO单元测试中使用hsql。web应用程序是针对mysql编写的,在同一个mysql数据库中使用三种不同的模式。某些模式与其他模式中的数据具有FK关系。如果我要进行单元测试,我必须能够对一个可以容纳多个模式的数据库执行 我知道HSQL支持多个模式,但我不知道如何配置HSQL以便为内存数据库设置多个模式。我了解到我可以在server.properties文件中定义多个模式,但是该文件需要位于调用java类的位置——junit.jar位置?如果是这样,我的JavaMaven应用程序将很难支持这一点。我怎样才能:Maven HSQL单元测试——如何创建多个内存模式?,maven,junit,hsqldb,Maven,Junit,Hsqldb,我希望在web应用程序的DAO单元测试中使用hsql。web应用程序是针对mysql编写的,在同一个mysql数据库中使用三种不同的模式。某些模式与其他模式中的数据具有FK关系。如果我要进行单元测试,我必须能够对一个可以容纳多个模式的数据库执行 我知道HSQL支持多个模式,但我不知道如何配置HSQL以便为内存数据库设置多个模式。我了解到我可以在server.properties文件中定义多个模式,但是该文件需要位于调用java类的位置——junit.jar位置?如果是这样,我的JavaMaven
谢谢你的帮助 HSQLDB支持同一数据库中的多个模式。外键可以引用来自不同模式的表。以下内容适用于最新的HSQLDB 2.2.6快照,该快照可从
createschema schemaname
注意,运行HSQLDB有两个选项,一个作为服务器,另一个作为嵌入式数据库。对于服务器,它必须在测试运行之前启动。在这两种情况下,您都需要在测试之前连接到数据库并创建模式。可以通过设置数据库名称来创建不同的数据库。默认情况下,它将数据库名称创建为testdb,但如果我们想要创建多个数据库,则显式地设置名称
new EmbeddedDatabaseBuilder()
.setType(EmbeddedDatabaseType.HSQL).setName("DB_NAME")
.addScript("DDL.SQL")
.addScript("DML.SQL")
.build();
如果多次运行以下行,则可以看到数据库:
DatabaseManagerSwing.main(new String[] { "--url", "jdbc:hsqldb:mem:" + dbnaes, "--user", "sa", "--password", "" });
啊<代码>创建架构(不创建数据库)!很好,我已经插入了它,现在能够在内存中创建一个多模式数据库。谢谢你的帮助。在这个问题中没有提到或标记Spring框架