• 【异常】诡异的mysql错误,Pagehelper插件混乱导致吗


    1 详细的异常信息

    Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'LIMIT 30' at line 1
            at sun.reflect.GeneratedConstructorAccessor162.newInstance(Unknown Source)
            at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
            at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
            at com.mysql.jdbc.Util.handleNewInstance(Util.java:425)
            at com.mysql.jdbc.Util.getInstance(Util.java:408)
            at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:944)
            at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3976)
            at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3912)
            at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2530)
            at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2683)
            at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2486)
            at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1858)
            at com.mysql.jdbc.PreparedStatement.execute(PreparedStatement.java:1197)
            at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44)
            at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java)
            at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:63)
            at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:79)
            at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:63)
            at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:326)
            at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:156)
            at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:109)
            at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:136)
            at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:61)
            at com.sun.proxy.$Proxy175.query(Unknown Source)
            at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:148)
            at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:141)
            at sun.reflect.GeneratedMethodAccessor109.invoke(Unknown Source)
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
            at java.lang.reflect.Method.invoke(Method.java:498)
            at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:433)
            ... 74 common frames omitted
    

    2 自己看了下详细的代码

      自己拼接的sql 已经有了一个limit 20 但是 后面执行的时候,又追加了limit 30.

    3 原因分析

      这种情况下,只有开启了pageHelper插件的start方法,才可能出现

    但是在我的这段代码中,我并没有这样做,怀疑是不是代码污染了,暂时也没有找到原因。

    4 解决方法

      暂时去掉了自己写的limit 20 ,暂时绕过这个问题。有时候,无法在规定时间解决问题的时候,暂时绕过不耽误整个项目的进程,也是可取的。  

      

  • 相关阅读:
    K3s+Jetson Nano,在边缘端实现实时视频分析!
    15分钟连接Jetson Nano与K8S,轻松搭建机器学习集群
    配置高可用K3s集群完全攻略
    K3s+Sysdig,8分钟部署并保护集群安全!
    1款工具助力Rancher HA快速部署,极速提升研发测试效率
    连刷40道题,告别动态规划,谈谈我的经验
    直通BAT算法精讲视频教程分享
    关于三次握手和四次挥手,面试官想听到怎样的回答?
    Redisson 分布式锁实战与 watch dog 机制解读
    Spring 注解动态数据源设计实践
  • 原文地址:https://www.cnblogs.com/QuestionsZhang/p/11606308.html
Copyright © 2020-2023  润新知