当前位置: 代码迷 >> J2EE >> mybatis分页查询时ORA-00907: 缺失右括号,该怎么处理
  详细解决方案

mybatis分页查询时ORA-00907: 缺失右括号,该怎么处理

热度:584   发布时间:2016-04-17 23:48:56.0
mybatis分页查询时ORA-00907: 缺失右括号
mybatis语句:

SELECT  *  FROM
            (SELECT 
id as id,
appserialnumber as appserialnumber,
who as who,
createtime as createtime,
operatedtype as operatedtype,
operate as operate,
operatedobject as operatedobject,
description as description,
result as result,
ROWNUM AS row_num
 FROM server_log ROWNUM < (#{startRecord}+#{total})) t_temp
       WHERE t_temp.row_num >= #{startRecord}


然后控制台打印语句:
10:06:51,114 DEBUG Connection:27 - ooo Connection Opened
10:06:51,442 DEBUG PreparedStatement:27 - ==>  Executing: select count(*) from server_log 
10:06:51,442 DEBUG PreparedStatement:27 - ==>  Executing: select count(*) from server_log 
10:06:51,442 DEBUG PreparedStatement:27 - ==> Parameters: 
10:06:51,442 DEBUG PreparedStatement:27 - ==> Parameters: 
10:06:51,630 DEBUG Connection:27 - ooo Connection Opened
10:06:51,646 DEBUG PreparedStatement:27 - ==>  Executing: SELECT * FROM (SELECT id as id, appserialnumber as appserialnumber, who as who, createtime as createtime, operatedtype as operatedtype, operate as operate, operatedobject as operatedobject, description as description, result as result, ROWNUM AS row_num FROM server_log ROWNUM < (?+?)) t_temp WHERE t_temp.row_num >= ? 
10:06:51,646 DEBUG PreparedStatement:27 - ==>  Executing: SELECT * FROM (SELECT id as id, appserialnumber as appserialnumber, who as who, createtime as createtime, operatedtype as operatedtype, operate as operate, operatedobject as operatedobject, description as description, result as result, ROWNUM AS row_num FROM server_log ROWNUM < (?+?)) t_temp WHERE t_temp.row_num >= ? 
10:06:51,646 DEBUG PreparedStatement:27 - ==> Parameters: 0(Integer), 10(Integer), 0(Integer)
10:06:51,646 DEBUG PreparedStatement:27 - ==> Parameters: 0(Integer), 10(Integer), 0(Integer)
2014-8-1 10:06:51 org.apache.catalina.core.StandardWrapperValve invoke
严重: Servlet.service() for servlet SearchServlet threw exception
org.apache.ibatis.exceptions.PersistenceException
### Error querying database.  Cause: java.sql.SQLException: ORA-00907: 缺失右括号

### The error may involve com.itrus.mylog.domain.ServerLog.selectAllServerLog-Inline
### The error occurred while setting parameters
### Cause: java.sql.SQLException: ORA-00907: 缺失右括号

at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:8)
at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:77)
at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:69)
at com.itrus.mylog.dao.impl.SearchDAOImpl.searchPagination(SearchDAOImpl.java:37)
at com.itrus.mylog.service.impl.SearchServiceImpl.searchPagination(SearchServiceImpl.java:24)
at com.itrus.mylog.servlet.SearchServlet.search(SearchServlet.java:53)
at com.itrus.mylog.servlet.SearchServlet.service(SearchServlet.java:40)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:602)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Thread.java:619)
Caused by: java.sql.SQLException: ORA-00907: 缺失右括号

at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:331)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:288)
at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:743)
at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:213)
  相关解决方案