caused by: net.sf.jsqlparser.parser.parseexception

打印 上一主题 下一主题

主题 698|帖子 698|积分 2094

原因

net.sf.jsqlparser.parser.ParseException: Encountered unexpected token 错误通常表现 SQLParser 在解析 SQL 语句时遇到了一个意外的标记。这通常是由以下原因导致的:

  • SQL 语法错误:SQLParser 遵循标准的 SQL 语法规则,假如您的 SQL 语句存在语法错误,比方拼写错误、缺少关键字、不正确的标点符号等,都会导致解析错误。请仔细查抄您的 SQL 语句并确保它符合正确的语法。
  • 不支持的 SQL 特性:SQLParser 大概不支持某些特定的 SQL 语法或功能。比方,某些高级的 SQL 特性、数据库特定的扩展、非标准的 SQL 表达式等大概无法被完全解析。请查阅 SQLParser 的文档以了解其支持的功能和限制。
  • 解析器版本不匹配:假如您利用的 SQL 语句是针对不同版本的 SQLParser 编写的,大概会导致解析错误。请确保利用的 SQLParser 版本与您的代码兼容,而且实用于您正在利用的 SQL 语法版本。
解决 


  • 仔细查抄 SQL 语句:查抄您的 SQL 语句是否存在拼写错误、缺少关键字、不正确的标点符号等语法错误。确保 SQL 语句符合正确的语法规则。
  • 利用支持的 SQL 特性:SQLParser 大概不支持某些高级的 SQL 特性或数据库特定的扩展。请查阅 SQLParser 的文档以了解其所支持的功能和限制,并相应地调解您的 SQL 语句。
  • 更新 SQLParser 版本:假如您利用的 SQLParser 版本较旧或与您的 SQL 语句不兼容,实验更新到最新的版本。新版本通常会修复一些已知的问题和错误。
  • 查阅解析器错误消息:解析器错误消息大概会提供更详细的信息,帮助您定位到详细的错误位置。查看错误消息并根据提示来调解您的 SQL 语句。
  • 提交 Issue 或寻求帮助:假如您颠末仔细排查后仍无法解决问题,可以考虑访问 SQLParser 的官方网站或仓库,提交 Issue 并寻求帮助。开发者社区大概能够提供详细的解决方案或指导。
我的问题:


Mybatis-plus官网说是框架中利用到了多租户功能,Mybatis-plus 会举行数据权限的过滤,但是有些接口,其实并不想被多租户过滤,以是要对该条sql,举行租户放行。关于这块,Mybatis-plus官网给出了SqlParserFilter  sql 解析过滤器说明,当然对这部分感爱好的小搭档们,可以去Mybatis-plus官网查看相关源码,我这里就不在详细说明白。 
参考Mybatis-plus官网,在Mapper层接口方法上 参加注解  
  1. @SqlParser(filter=true)
复制代码
注意:说明:假如Mybatis-plus版本是3.1.1至3.4.0以下版本可以直接 添加此注解 即可,3.1.1以下版本必要添加如下设置
  1. # 开启 SQL 解析缓存注解生效
  2. mybatis-plus:
  3.   global-config:
  4.     sql-parser-cache: true
复制代码


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

勿忘初心做自己

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表