报错信息:
Caused by: net.sf.jsqlparser.parser.ParseException: Encountered unexpected token: "=" "="
at line 3, column 22.
Was expecting one of:
Caused by: net.sf.jsqlparser.parser.ParseException: Encountered unexpected token: "=" "="
at line 3, column 22.
Was expecting one of:
"&"
"&&"
")"
"::"
"<<"
">>"
"AND"
"AT"
"COLLATE"
"CONNECT"
"EXCEPT"
"FOR"
"GROUP"
"HAVING"
"INTERSECT"
"MINUS"
"OR"
"START"
"UNION"
"XOR"
"["
"^"
"|"
at net.sf.jsqlparser.parser.CCJSqlParser.generateParseException(CCJSqlParser.java:30694)
at net.sf.jsqlparser.parser.CCJSqlParser.jj_consume_token(CCJSqlParser.java:30527)
at net.sf.jsqlparser.parser.CCJSqlParser.FromItem(CCJSqlParser.java:7692)
at net.sf.jsqlparser.parser.CCJSqlParser.PlainSelect(CCJSqlParser.java:5443)
at net.sf.jsqlparser.parser.CCJSqlParser.SetOperationList(CCJSqlParser.java:5645)
at net.sf.jsqlparser.parser.CCJSqlParser.SelectBody(CCJSqlParser.java:5324)
at net.sf.jsqlparser.parser.CCJSqlParser.Select(CCJSqlParser.java:5319)
at net.sf.jsqlparser.parser.CCJSqlParser.SingleStatement(CCJSqlParser.java:232)
at net.sf.jsqlparser.parser.CCJSqlParser.Statement(CCJSqlParser.java:153)
at net.sf.jsqlparser.parser.CCJSqlParserUtil.parseStatement(CCJSqlParserUtil.java:188)
网上看了很多,说是因为MyBatis_Plus框架中,有多租户的功能,MP会进行数据权限的过滤,但是都试了试发现并不生效,记着之前遇到过这个问题,是因为那个包的版本原因导致的,但是忘了,这次就记下来吧,免得自己又忘了。
原因:
mybatis-plus包与原本存在的pagehelper存在com.github.jsqlparser:jsqlparser冲突
解决方案:
解决:
1.排除其他依赖中的jsqlparser的包,引入新的jsqlparser,也可以只排除在其中一个的,使用另一个的jsqlparser包,不用重新导入
排除pageHelper中的jsqlparser
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
<version>${pagehelper.boot.version}</version>
<exclusions>
<!-- 解决jsqlparser 依赖版本冲突-->
<exclusion>
<artifactId>jsqlparser</artifactId>
<groupId>com.github.jsqlparser</groupId>
</exclusion>
</exclusions>
</dependency>
排除Mybatis-Plus中的jsqlparser
<!-- mybatis-plus 增强CRUD -->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.4.1</version>
<exclusions>
<!-- 解决jsqlparser 依赖版本冲突–>-->
<exclusion>
<artifactId>jsqlparser</artifactId>
<groupId>com.github.jsqlparser</groupId>
</exclusion>
</exclusions>
</dependency>
引入新的jsqlparser
<dependency>
<groupId>com.github.jsqlparser</groupId>
<artifactId>jsqlparser</artifactId>
<version>4.2</version>
</dependency>
2.修改MyBatis-plus或pageHelper包的版本,我这里使用的Mybatis-Plus的版本是3.4.1,pageHelper的版本是1.3.0
文章来源:https://www.toymoban.com/news/detail-689885.html
可以根据maven依赖原则适当的调整版本,顺序或者排除掉有冲突的jar包文章来源地址https://www.toymoban.com/news/detail-689885.html
到了这里,关于解决:net.sf.jsqlparser.parser.ParseException: Encountered unexpected token: “=“ “=“的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!