【问题标题】:Cannot use hsqldb connection from app, but unit test work无法从应用程序使用 hsqldb 连接,但单元测试工作
【发布时间】:2013-12-04 15:41:27
【问题描述】:

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

【问题讨论】:

    标签: java spring-mvc hsqldb


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 2020-03-19
      • 2018-07-29
      • 2023-03-17
      • 1970-01-01
      • 2011-08-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-06-25
      相关资源
      最近更新 更多