当前位置:   article > 正文

net.sf.jsqlparser.parser.ParseException: Encountered unexpected token: “:“ “:“

net.sf.jsqlparser.parser.parseexception: encountered unexpected token: "memb

mybatis-plus报错net.sf.jsqlparser.parser.ParseException: Encountered unexpected token: “:” “:”

问题原因

只要你的sql语句从idea控制台拿出来在数据库中可以正常运行但是在项目中报错是因为mybatis-plus框架中使用到了多租户功能,Mybatis-plus 会 进行数据权限的过滤,但是有些接口,其实并不想被多租户过滤,所以要对该条sql,进行租户放行。关于这块Mybatis-plus官网说明了 SqlParserFilter sql 解析过滤器,当然对这部分感兴趣的小伙伴们,可以去Mybatis-plus官网查看相关源码

说明:多租户:多个用户间使用同一套程序,但每个用户之间实现数据隔离

解决办法

参考Mybatis-plus官网,在Mapper层接口方法上 加入注解

3.3.1版本以上解决: 
mapper文件上面加上这个注解
@SqlParser(filter=true)
  • 1
  • 2
  • 3
以下版本在要yml中加入以下:
mybatis-plus:
  global-config:
    sql-parser-cache: true
  • 1
  • 2
  • 3
  • 4
声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号