spring JdbcTemplate查询access数据库时, protected Object mapRow(ResultSet rs, int rownum) throws SQLException {
return rowObject(rs, rownum);
}方法返回的第一条记录为空,当rownum=0时候,object对象为空。
请问为什么会出现这种情况呢?然而使用该方法查询Oracle数据库数据,当rownum=0时候,object对象不为空。
异常代码为:
org.springframework.jdbc.UncategorizedSQLException: PreparedStatementCallback; uncategorized SQLException for SQL [ SELECT TOP 10 MST06007 as typ,MST06008 as typName,MST06009 as operatorTyp,MST06010 as seqNo,MST06011 as res,( SELECT COUNT (*) FROM MST06
) AS CNT FROM MST06
WHERE 1 = 1
ORDER BY MST06010
]; SQL state [null]; error code [0]; java.sql.SQLException: No data found; nested exception is java.sql.SQLException: java.sql.SQLException: No data found
Caused by: java.sql.SQLException: java.sql.SQLException: No data found
at tos.app.system.dfiMST.dao.jdbc.AbstractJdbcDfiClsDAO$DFISearch4Page.rowObject(AbstractJdbcDfiClsDAO.java:76)
at tos.framework.dao.jdbc.PageQuery.mapRow(PageQuery.java:48)
at org.springframework.jdbc.object.MappingSqlQuery.mapRow(MappingSqlQuery.java:64)
at org.springframework.jdbc.object.MappingSqlQueryWithParameters$RowMapperImpl.mapRow(MappingSqlQueryWithParameters.java:115)
at org.springframework.jdbc.core.RowMapperResultSetExtractor.extractData(RowMapperResultSetExtractor.java:92)
at org.springframework.jdbc.core.JdbcTemplate$1.doInPreparedStatement(JdbcTemplate.java:599)
at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:537)
at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:587)
at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:612)
at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:644)
at org.springframework.jdbc.object.SqlQuery.execute(SqlQuery.java:112)
at org.springframework.jdbc.object.SqlQuery.execute(SqlQuery.java:122)
at tos.framework.dao.jdbc.PageQuery.executeQuery4PaginatedList(PageQuery.java:245)
at tos.framework.dao.jdbc.PageQuery.executeQuery4PaginatedList(PageQuery.java:226)
at tos.app.system.dfiMST.dao.jdbc.AbstractJdbcDfiClsDAO$DFISearch4Page.search(AbstractJdbcDfiClsDAO.java:84)
at tos.app.system.dfiMST.dao.jdbc.AbstractJdbcDfiClsDAO.queryDfiClsBySearchList(AbstractJdbcDfiClsDAO.java:99)
at tos.app.system.dfiMST.domain.service.pojo.POJODfiClsService.queryDfiClsBySearchList(POJODfiClsService.java:33)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:296)
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:177)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:144)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:107)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:166)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
at $Proxy6.queryDfiClsBySearchList(Unknown Source)
at tos.app.system.dfiMST.www.action.DfiClsAction.search(DfiClsAction.java:60)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:274)
at org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:194)
at tos.framework.www.AbstractDispatchAction.doMainProcessing(AbstractDispatchAction.java:52)
at tos.framework.www.AbstractDispatchAction.execute(AbstractDispatchAction.java:34)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:419)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:224)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at tos.framework.www.filter.EncodingFilter.doFilter(EncodingFilter.java:43)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:667)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
at java.lang.Thread.run(Thread.java:595)
return rowObject(rs, rownum);
}方法返回的第一条记录为空,当rownum=0时候,object对象为空。
请问为什么会出现这种情况呢?然而使用该方法查询Oracle数据库数据,当rownum=0时候,object对象不为空。
异常代码为:
org.springframework.jdbc.UncategorizedSQLException: PreparedStatementCallback; uncategorized SQLException for SQL [ SELECT TOP 10 MST06007 as typ,MST06008 as typName,MST06009 as operatorTyp,MST06010 as seqNo,MST06011 as res,( SELECT COUNT (*) FROM MST06
) AS CNT FROM MST06
WHERE 1 = 1
ORDER BY MST06010
]; SQL state [null]; error code [0]; java.sql.SQLException: No data found; nested exception is java.sql.SQLException: java.sql.SQLException: No data found
Caused by: java.sql.SQLException: java.sql.SQLException: No data found
at tos.app.system.dfiMST.dao.jdbc.AbstractJdbcDfiClsDAO$DFISearch4Page.rowObject(AbstractJdbcDfiClsDAO.java:76)
at tos.framework.dao.jdbc.PageQuery.mapRow(PageQuery.java:48)
at org.springframework.jdbc.object.MappingSqlQuery.mapRow(MappingSqlQuery.java:64)
at org.springframework.jdbc.object.MappingSqlQueryWithParameters$RowMapperImpl.mapRow(MappingSqlQueryWithParameters.java:115)
at org.springframework.jdbc.core.RowMapperResultSetExtractor.extractData(RowMapperResultSetExtractor.java:92)
at org.springframework.jdbc.core.JdbcTemplate$1.doInPreparedStatement(JdbcTemplate.java:599)
at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:537)
at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:587)
at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:612)
at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:644)
at org.springframework.jdbc.object.SqlQuery.execute(SqlQuery.java:112)
at org.springframework.jdbc.object.SqlQuery.execute(SqlQuery.java:122)
at tos.framework.dao.jdbc.PageQuery.executeQuery4PaginatedList(PageQuery.java:245)
at tos.framework.dao.jdbc.PageQuery.executeQuery4PaginatedList(PageQuery.java:226)
at tos.app.system.dfiMST.dao.jdbc.AbstractJdbcDfiClsDAO$DFISearch4Page.search(AbstractJdbcDfiClsDAO.java:84)
at tos.app.system.dfiMST.dao.jdbc.AbstractJdbcDfiClsDAO.queryDfiClsBySearchList(AbstractJdbcDfiClsDAO.java:99)
at tos.app.system.dfiMST.domain.service.pojo.POJODfiClsService.queryDfiClsBySearchList(POJODfiClsService.java:33)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:296)
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:177)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:144)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:107)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:166)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
at $Proxy6.queryDfiClsBySearchList(Unknown Source)
at tos.app.system.dfiMST.www.action.DfiClsAction.search(DfiClsAction.java:60)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:274)
at org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:194)
at tos.framework.www.AbstractDispatchAction.doMainProcessing(AbstractDispatchAction.java:52)
at tos.framework.www.AbstractDispatchAction.execute(AbstractDispatchAction.java:34)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:419)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:224)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at tos.framework.www.filter.EncodingFilter.doFilter(EncodingFilter.java:43)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:667)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
at java.lang.Thread.run(Thread.java:595)
MST08011 as defItem1,MST08012 as defItem2,MST08013 as defItem3,MST08014 as defItem4,
MST08015 as defItem5,MST08016 as defItem6,MST08017 as defItem7,MST08018 as defItem8,
MST08019 as defItem9,MST08020 as defItem10,MST08021 as defItem11,MST08022 as defItem12,
MST08023 as defItem13,MST08024 as defItem14