gpt4 book ai didi

java - 无法使用应用程序中的 hsqldb 连接,但单元测试工作

转载 作者:行者123 更新时间:2023-12-01 13:45:54 25 4
gpt4 key购买 nike

我有一个用于写入数据库的应用程序。我正在使用 hsqldb 进行开发。

我有一个单元测试,可以使用 insertToDB() 方法写入数据库:

@Test
public void writeTest() throws SQLException {
LocationImpl li = new LocationImpl();
li.setName("TestName");
li.setState("PA");
li.setLattitude(100);
li.setLongitude(200);
LocationDAOImpl.insertIntoDB(li);
ResultSet rs = LocationDAOImpl.getAllLocations();
int i = 0;
while (rs.next()){
i++;
if (i==591) { assertEquals("TestName", rs.getString(7)); }
}
}

当我在这里调用它时,出现以下错误。

java.sql.SQLException:找不到适用于 jdbc:hsqldb:file:C:/Users/my/hsqldb/dir 的驱动程序:

Controller 代码:

@RequestMapping(value = "/addLocation", method = RequestMethod.POST)
public ModelAndView addLocation(@ModelAttribute("LocationImpl")LocationImpl locationImpl,
ModelMap model) throws SQLException {
logger.info("Form submission method called");
model.addAttribute("name", locationImpl.getName());

LocationDAOImpl.insertIntoDB(locationImpl);
return new ModelAndView("result", "command", locationImpl);
}

对于为什么连接可以从 jUnit 工作,但不能从 web 应用程序工作,您有什么想法吗?谢谢

最佳答案

因为 HSQLDB JDBC 驱动程序位于测试类路径上,但不在运行时类路径上。

关于java - 无法使用应用程序中的 hsqldb 连接,但单元测试工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20379620/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com