zoukankan      html  css  js  c++  java
  • mybatis plus使用报错:Caused by: java.sql.SQLException: sql injection violation, syntax error: syntax err

    最近项目中使用了mybatis plus,今天在开发一个分页功能的时候,项目运行时报错:

    Caused by: java.sql.SQLException: sql injection violation, syntax error: syntax error, error in :'ESC; LIMIT ?,?', expect LIMIT, actual LIMIT pos 621, line 23, column 29, token LIMIT 
    

    mapper中的方法声明:

    IPage<XueXingZuDuiZhaoMaVo> selectWithMingCheng(IPage<Vo> pageData, @Param("vo") Vo vo);
    

    mapper.xml文件中的SQL语句:

    ORDER BY
            XU_HAO DESC;
    

    报错的SQL语句:

     ORDER BY
            XU_HAO DESC; LIMIT ?,?
    

    可以看到,mybatis plus 在进行分页查询时会自动给自定义的SQL语句加上LIMIT关键字进行查询,由于自定义的SQL语句有分号,导致mybatis plus添加LIMIT 后不能组成一个有效的SQL语句。

    解决方法:去掉自定义SQL语句末尾的分号。

    一颗安安静静的小韭菜。文中如果有什么错误,欢迎指出。
  • 相关阅读:
    mvc+dwz准备工作
    C# action,delegate,func的用法和区别
    mvc+dwz第二天
    mvc+dwz第一天
    H5文件上传2
    H5文件上传1
    vs2010 nuget 基础连接已经关闭:发送时发生错误
    redis分布式锁
    C# 并发队列ConcurrentQueue
    正则表达式入门
  • 原文地址:https://www.cnblogs.com/c-Ajing/p/13448355.html
Copyright © 2011-2022 走看看