zoukankan      html  css  js  c++  java
  • 【异常】诡异的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 ,暂时绕过这个问题。有时候,无法在规定时间解决问题的时候,暂时绕过不耽误整个项目的进程,也是可取的。  

      

  • 相关阅读:
    POJ
    POJ
    HDU-3374 String Problem (最小最大表示法)
    HDU-2328 Corporate Identity (暴力)
    HDU-1238 Substrings (kmp)
    kmp处理题型总结
    Numpy用户指南
    Docker 容器连接
    Docker 镜像使用
    docker容器的使用
  • 原文地址:https://www.cnblogs.com/QuestionsZhang/p/11606308.html
Copyright © 2011-2022 走看看