首先,我使用这种方式获得连接,一切都很好。
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/