我有一个应用程序,用于写入数据库。我正在使用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: No suitable driver found for jdbc:hsqldb:file:C:/Users/my/hsqldb/dir
:
控制器代码:
@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运行而不是从webapp运行的任何想法?感谢
答案 0 :(得分:1)
因为HSQLDB JDBC驱动程序位于测试类路径上,而不在运行时类路径上。