暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

PageHelper排坑,处理排序失败: net.sf.jsqlparser.JSQLParserException

一叶扁舟 2022-05-19
13464

image.png

一、问题描述

遇到了一个报错

com.github.pagehelper.PageException: 处理排序失败: net.sf.jsqlparser.JSQLParserException Caused by: net.sf.jsqlparser.parser.ParseException: Encountered unexpected token: "is" "IS" at line 28, column 21. Was expecting one of: "." ";" "AND" "CONNECT" "EXCEPT" "FOR" "GROUP" "HAVING" "INTERSECT" "MINUS" "ORDER" "START" "UNION" <EOF>

通过报错,我们简单可以看出是pagehelper在处理sql语句时,sql中包含了不支持的语句

二、问题排查

  • 先看java代码

代码里确实用了pagehelper的排序

Page page = PageHelper.startPage(pageNum, pageSize, orderString);
  • 再看sql

因为sql里面使用了is,pagehelper排序不支持这个关键字,所以就报错了

where is_hide is true

三、问题解决

对于我这个问题,把is换成=就行了
还有别的情况,使用了一些关键字,不在下面之中,也会报错

Was expecting one of: "." ";" "AND" "CONNECT" "EXCEPT" "FOR" "GROUP" "HAVING" "INTERSECT" "MINUS" "ORDER" "START" "UNION" <EOF>

报错里面都有提示,可以根据提示判断具体哪个关键词有问题

Encountered unexpected token: "is" "IS"
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论