zoukankan      html  css  js  c++  java
  • com.github.pagehelper.PageException: 处理排序失败: net.sf.jsqlparser.JSQLParserException

     

    com.github.pagehelper.PageException: 处理排序失败: net.sf.jsqlparser.JSQLParserException

    net.sf.jsqlparser.parser.ParseException: Encountered unexpected token: "DELAYED" "DELAYED"
        at line 3, column 19.

    org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.exceptions.PersistenceException: 
    ### Error querying database.  Cause: com.github.pagehelper.PageException: 处理排序失败: net.sf.jsqlparser.JSQLParserException
    ### The error may exist in cn/com/chinatelecom/ecms/dao/dev22/NetageGetBoonMapper.xml
    ### The error may involve cn.com.chinatelecom.ecms.dao.dev22.NetageGetBoonMapper.selectNetageGetBoonList_COUNT
    ### The error occurred while handling results
    ### SQL: select count(0) from (select         ID,PHONENUMBER,GETTIME,BOONID,BOONNAME,BOONSTATE,GEARID,GEARNAME,         PRIZETYPE,DELAYED,USEDTYPE,PRIZECOUNT,PRIZETIME         from T_NETAGE_GETBOON           WHERE  TO_CHAR(GETTIME,'YYYY-MM-DD HH24:MI:SS') >=                 ?                                                        AND TO_CHAR(GETTIME,'YYYY-MM-DD HH24:MI:SS') <=                 ?) tmp_count
    ### Cause: com.github.pagehelper.PageException: 处理排序失败: net.sf.jsqlparser.JSQLParserException
    	at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:77)
    	at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:446)
    	at com.sun.proxy.$Proxy55.selectList(Unknown Source)
    	at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:230)
    	at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:139)
    	at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:76)
    	at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:59)
    	at com.sun.proxy.$Proxy350.selectNetageGetBoonList(Unknown Source)
    	at cn.com.chinatelecom.ecms.service.impl.DedicatedCustomerServiceImpl.lambda$1(DedicatedCustomerServiceImpl.java:206)
    	at cn.com.chinatelecom.ecms.service.impl.DedicatedCustomerServiceImpl$$Lambda$202/1537737921.doSelect(Unknown Source)
    	at com.github.pagehelper.Page.doSelectPage(Page.java:348)
    	at cn.com.chinatelecom.ecms.service.impl.DedicatedCustomerServiceImpl.selectnetageGetBoonList(DedicatedCustomerServiceImpl.java:206)
    	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    	at java.lang.reflect.Method.invoke(Method.java:497)
    	at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:343)
    	at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:198)
    	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
    	at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:93)
    	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
    	at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:212)
    	at com.sun.proxy.$Proxy353.selectnetageGetBoonList(Unknown Source)
    	at cn.com.chinatelecom.ecms.controller.customer.DedicatedCustomerController.initNetageGetBoonList(DedicatedCustomerController.java:114)
    	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    	at java.lang.reflect.Method.invoke(Method.java:497)
    	at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:215)
    	at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:142)
    	at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:102)
    	at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:895)
    	at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:800)
    	at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)
    	at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1038)
    	at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:942)
    	at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:998)
    	at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:901)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:661)
    	at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:875)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:742)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
    	at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
    	at com.alibaba.druid.support.http.WebStatFilter.doFilter(WebStatFilter.java:123)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
    	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:320)
    	at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:127)
    	at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:91)
    	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
    	at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:119)
    	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
    	at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:137)
    	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
    	at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:111)
    	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
    	at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:170)
    	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
    	at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63)
    	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
    	at org.springframework.security.web.session.ConcurrentSessionFilter.doFilter(ConcurrentSessionFilter.java:155)
    	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
    	at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:200)
    	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
    	at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:116)
    	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
    	at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:66)
    	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
    	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
    	at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:105)
    	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
    	at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:56)
    	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
    	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
    	at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:215)
    	at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:178)
    	at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:357)
    	at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:270)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
    	at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:200)
    	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
    	at org.springframework.session.web.http.SessionRepositoryFilter.doFilterInternal(SessionRepositoryFilter.java:147)
    	at org.springframework.session.web.http.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:81)
    	at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:357)
    	at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:270)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
    	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:198)
    	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
    	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:496)
    	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140)
    	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81)
    	at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:650)
    	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
    	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342)
    	at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:803)
    	at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
    	at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:790)
    	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1459)
    	at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
    	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    	at java.lang.Thread.run(Thread.java:745)
    Caused by: org.apache.ibatis.exceptions.PersistenceException: 
    ### Error querying database.  Cause: com.github.pagehelper.PageException: 处理排序失败: net.sf.jsqlparser.JSQLParserException
    ### The error may exist in cn/com/chinatelecom/ecms/dao/dev22/NetageGetBoonMapper.xml
    ### The error may involve cn.com.chinatelecom.ecms.dao.dev22.NetageGetBoonMapper.selectNetageGetBoonList_COUNT
    ### The error occurred while handling results
    ### SQL: select count(0) from (select         ID,PHONENUMBER,GETTIME,BOONID,BOONNAME,BOONSTATE,GEARID,GEARNAME,         PRIZETYPE,DELAYED,USEDTYPE,PRIZECOUNT,PRIZETIME         from T_NETAGE_GETBOON           WHERE  TO_CHAR(GETTIME,'YYYY-MM-DD HH24:MI:SS') >=                 ?                                                        AND TO_CHAR(GETTIME,'YYYY-MM-DD HH24:MI:SS') <=                 ?) tmp_count
    ### Cause: com.github.pagehelper.PageException: 处理排序失败: net.sf.jsqlparser.JSQLParserException
    	at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30)
    	at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:150)
    	at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:141)
    	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    	at java.lang.reflect.Method.invoke(Method.java:497)
    	at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:433)
    	... 108 common frames omitted
    Caused by: com.github.pagehelper.PageException: 处理排序失败: net.sf.jsqlparser.JSQLParserException
    	at com.github.pagehelper.parser.OrderByParser.converToOrderBySql(OrderByParser.java:64)
    	at com.github.pagehelper.dialect.AbstractHelperDialect.getPageSql(AbstractHelperDialect.java:173)
    	at com.github.pagehelper.PageHelper.getPageSql(PageHelper.java:98)
    	at com.github.pagehelper.util.ExecutorUtil.pageQuery(ExecutorUtil.java:168)
    	at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:104)
    	at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:61)
    	at com.sun.proxy.$Proxy483.query(Unknown Source)
    	at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:148)
    	... 114 common frames omitted
    Caused by: net.sf.jsqlparser.JSQLParserException: null
    	at net.sf.jsqlparser.parser.CCJSqlParserUtil.parse(CCJSqlParserUtil.java:55)
    	at com.github.pagehelper.parser.OrderByParser.converToOrderBySql(OrderByParser.java:52)
    	... 121 common frames omitted
    Caused by: net.sf.jsqlparser.parser.ParseException: Encountered unexpected token: "DELAYED" "DELAYED"
        at line 3, column 19.
    
    Was expecting one of:
    
        "("
        "*"
        "+"
        "-"
        ":"
        "?"
        "@"
        "@@"
        "ACTION"
        "ANY"
        "CASCADE"
        "CASE"
        "CAST"
        "COLUMN"
        "COMMIT"
        "DO"
        "DOUBLE"
        "ENABLE"
        "END"
        "EXTRACT"
        "FIRST"
        "FOLLOWING"
        "GROUP_CONCAT"
        "IF"
        "INDEX"
        "INSERT"
        "INTERVAL"
        "KEY"
        "LAST"
        "LEFT"
        "MATERIALIZED"
        "NO"
        "NULL"
        "NULLS"
        "OPEN"
        "OVER"
        "PARTITION"
        "PERCENT"
        "PRECISION"
        "PRIMARY"
        "PRIOR"
        "RANGE"
        "REPLACE"
        "RIGHT"
        "ROW"
        "ROWS"
        "SEPARATOR"
        "SET"
        "SIBLINGS"
        "TABLE"
        "TEMP"
        "TEMPORARY"
        "TRUNCATE"
        "UNSIGNED"
        "VALUE"
        "VALUES"
        "XML"
        "{d"
        "{fn"
        "{t"
        "{ts"
        "~"
        <K_DATETIMELITERAL>
        <K_TIME_KEY_EXPR>
        <S_CHAR_LITERAL>
        <S_DOUBLE>
        <S_HEX>
        <S_IDENTIFIER>
        <S_LONG>
        <S_QUOTED_IDENTIFIER>
    
    	at net.sf.jsqlparser.parser.CCJSqlParser.generateParseException(CCJSqlParser.java:18047)
    	at net.sf.jsqlparser.parser.CCJSqlParser.jj_consume_token(CCJSqlParser.java:17900)
    	at net.sf.jsqlparser.parser.CCJSqlParser.SelectItem(CCJSqlParser.java:3528)
    	at net.sf.jsqlparser.parser.CCJSqlParser.SelectItemsList(CCJSqlParser.java:3368)
    	at net.sf.jsqlparser.parser.CCJSqlParser.PlainSelect(CCJSqlParser.java:2930)
    	at net.sf.jsqlparser.parser.CCJSqlParser.SetOperationList(CCJSqlParser.java:3107)
    	at net.sf.jsqlparser.parser.CCJSqlParser.SelectBody(CCJSqlParser.java:2824)
    	at net.sf.jsqlparser.parser.CCJSqlParser.Select(CCJSqlParser.java:2817)
    	at net.sf.jsqlparser.parser.CCJSqlParser.SingleStatement(CCJSqlParser.java:133)
    	at net.sf.jsqlparser.parser.CCJSqlParser.Statement(CCJSqlParser.java:81)
    	at net.sf.jsqlparser.parser.CCJSqlParserUtil.parse(CCJSqlParserUtil.java:53)
    	... 122 common frames omitted
    

    com.github.pagehelper.PageException: 处理排序失败: net.sf.jsqlparser.JSQLParserException

    net.sf.jsqlparser.parser.ParseException: Encountered unexpected token: "DELAYED" "DELAYED"     at line 3, column 19.

      由于 DELAYED 是关键字,是 DELAYED 这个关键字引起的异常,两种解决方法:

       1. 一般就只需要将这个关键字 去掉 不进行获取,就不报异常,

          2.  可这个 DELAYED 字段,是需要进行获取出列值的表字段,

        这时,就不在serviceImpl.java里面进行传递 排序,,直接在sql里面写死,就可以了,异常就解决了

      

      代码如下:

    serviceImpl.java

    Page<NetageGetBoon> page = PageHelper.startPage(pageInfo.getPageNo(), pageInfo.getPageSize(), true)
                                         .doSelectPage(() -> netageGetBoonMapper.selectByExampleOfCon(example));
    //        		.setOrderBy("GETTIME DESC").doSelectPage(() -> netageGetBoonMapper.selectByExample(example));
            pageInfo.setCount((int) page.getTotal());
            return new ArrayList<>(page.getResult());
    

     Mapper.xml

      <sql id="Base_Column_List" >
        ID, PHONENUMBER, GETTIME, BOONID, BOONNAME, BOONSTATE, GEARID, GEARNAME, PRIZETYPE, 
        DELAYED, REMARK, USEDTYPE, PRIZECOUNT, PRIZETIME
      </sql>
    
     <select id="selectByExample" resultMap="BaseResultMap" parameterType="cn.com.chinatelecom.ecms.pojo.dev22.NetageGetBoonExample" >
        <!--
          WARNING - @mbggenerated
          This element is automatically generated by MyBatis Generator, do not modify.
        -->
        select
          <if test="distinct" >
            distinct
          </if>
          <include refid="Base_Column_List" />
        from T_NETAGE_GETBOON
          <if test="_parameter != null" >
            <include refid="Example_Where_Clause" />
          </if>
        <!-- <if test="orderByClause != null" >
          order by ${orderByClause}
        </if> -->
         order by GETTIME DESC
      </select>
    
  • 相关阅读:
    JavaScript的数据类型
    伪元素和伪类的区别是什么?
    伪元素::before和::after的详细介绍
    Ksoap2 获取webservice返回值的getResponse() 出现的问题
    解决dropdownlist postback 在 iphone UIwebview 失效的问题
    javascript雪花效果 注释版
    金山词霸每日一句开放平台 .NET demo
    【摘抄】Application.StartupPath和System.Environment.CurrentDirectory的区别
    EditText 监听回车事件 避免2次触发
    【代码】ini 文件读取工具类
  • 原文地址:https://www.cnblogs.com/hanxue53/p/11097299.html
Copyright © 2011-2022 走看看