分享

mybatis-plus @SqlParser(filter=true)的代替方案

 明神月 2023-11-08 发布于北京

caused by: 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官网,在Mapper层接口方法上 加入注解  

@SqlParser(filter=true)

注意:说明:如果Mybatis-plus版本是3.1.1至3.4.0以下版本可以直接 添加此注解 即可,3.1.1以下版本需要添加如下配置

# 开启 SQL 解析缓存注解生效

mybatis-plus:

  global-config:

    sql-parser-cache: true

mybatis-plus 多租户屏蔽某个特定mapper的方法@InterceptorIgnore

多租户屏蔽某个特定mapper的方法,则在特定mapper方法上加注解:@InterceptorIgnore(tenantLine = "true")

注意使用了分页插件时,该注解会失效

@InterceptorIgnore的其他用法

各属性返回 true 表示不走插件(在配置了插件的情况下,不填则默认表示 false)

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多