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语句末尾的分号。

    一颗安安静静的小韭菜。文中如果有什么错误,欢迎指出。
  • 相关阅读:
    简单记录下springboot+jms+activemq
    简单记录下RestTemplate 中postForObject调用例子
    vue+springboot后台实现页面按钮权限
    发送短信功能
    drf
    drf
    drf
    drf
    drf
    drf
  • 原文地址:https://www.cnblogs.com/c-Ajing/p/13448355.html
Copyright © 2011-2022 走看看