java - 如何在ClientDataSource中设置内存数据库?

标签 java junit4 derby

首先,我使用这种方式获得连接,一切都很好。

con = DriverManager.getConnection("jdbc:derby:memory:datab;create=true");

但现在我必须将其更改为 DataSource,以及如何发现 derby 有用于此目的的 ClientDataSource 类,但我根本不知道如何在 JUnit 测试中设置该虚拟数据库。

ClientDataSource ds = new ClientDataSource();
con = ds.getConnection();

最佳答案

因为我在谷歌搜索过程中发现了这个问题:

答案是使用EmbeddedDataSource而不是 ClientDataSource 并在数据库名称之前保留“memory:”前缀

import org.apache.derby.jdbc.EmbeddedDataSource;
...
EmbeddedDataSource ds = new EmbeddedDataSource();

ds.setDatabaseName("memory:" + "datab");
ds.setCreateDatabase("create");
ds.setUser("user");
ds.setPassword("pwd");

关于java - 如何在ClientDataSource中设置内存数据库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22685775/

相关文章:

java - Android Clean 架构中的登录流程

java - 为什么java认为这个方法是被声明的,而不是被调用的?

java - 如何编写Spring Boot Controller 类单元测试用例

java - derby + hibernate ConstraintViolationException 使用多对多关系

java - 两个 Derby 数据库可以在同一主机上运行吗?

java - 将 junit 测试加载到不同的 jvm

Java:我的一般树遍历实现有什么问题?

java - onstructor Sort(String[][], 11, 12);"在 junit 中未定义

android - 如何调整 Robolectric 测试的屏幕密度?

SQL 列引用无效