不能从app使用hsqldb连接,而是单元测试工作

时间:2013-12-04 15:41:28

标签: java spring-mvc hsqldb

我有一个应用程序,用于写入数据库。我正在使用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运行的任何想法?感谢

1 个答案:

答案 0 :(得分:1)

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