2017-08-03 681 views
0

我試圖讀取數據庫上的所有票據並顯示它們,這是我的控制器類中的我的方法,正如您所看到的,我嘗試了不使用userID但仍然。spring中的org.springframework.dao.QueryTimeoutException mvc

請幫助

public ArrayList<TicketModel> getAllTickets(int userID) { 
    String sql = "select * from tblticket where fkusername=?"; 
    //ArrayList<TicketModel> tickets = (ArrayList<TicketModel>) template.query(sql, new TicketModelMapper()); 
    ArrayList<TicketModel> tickets = (ArrayList<TicketModel>) template.query(sql, new Object[]{userID}, new TicketModelMapper()); 
    return tickets; 
} 

這是我得到

java.lang.ClassNotFoundException: org.springframework.dao.QueryTimeoutException 
    org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1720) 
    org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1571) 
    org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.<init>(SQLErrorCodeSQLExceptionTranslator.java:84) 
    org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.<init>(SQLErrorCodeSQLExceptionTranslator.java:96) 
    org.springframework.jdbc.support.JdbcAccessor.getExceptionTranslator(JdbcAccessor.java:99) 
    org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:658) 
    org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:693) 
    org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:725) 
    org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:735) 
    org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:785) 
    com.database.accessobjects.TicketDao.getAllTickets(TicketDao.java:63) 
    com.pack.controllers.TicketController.viewAllTickets(TicketController.java:66) 
    sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
    sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    java.lang.reflect.Method.invoke(Method.java:498) 
    org.springframework.web.method.support.InvocableHandlerMethod.invoke(InvocableHandlerMethod.java:214) 
    org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:132) 
    org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:104) 
    org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandleMethod(RequestMappingHandlerAdapter.java:748) 
    org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:689) 
    org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:83) 
    org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:945) 
    org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:876) 
    org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:931) 
    org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:822) 
    javax.servlet.http.HttpServlet.service(HttpServlet.java:620) 
    org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:807) 
    javax.servlet.http.HttpServlet.service(HttpServlet.java:727) 
    org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) 
+0

你使用哪個版本的版本? – Jens

+0

你的classpath中有spring-Transaction.jar嗎? – Jens

+0

是的,我擁有它 –

回答

1

好像容器是無法加載類文件QueryTimeoutException錯誤。

該文件帶有spring-tx-X.RELEASE.jar

添加這種依賴性在

  <dependency> 
       <groupId>org.springframework</groupId> 
       <artifactId>spring-tx</artifactId> 
       <version>{spring-version}</version> 
      </dependency> 

編輯1: 把這些在pom.xml中,如果你正在使用maven。請用你的春天版本替換{spring-version}。

+0

我在哪裏放這些行?在web.xml或servlet.xml中 –

+0

不,我在eclipse上使用spring MVC –

+0

如果你不使用Maven,那麼你可以從Maven倉庫下載並將它添加到lib文件夾。 – Sam