MyBatis 使用报错 Caused by: net.sf.jsqlparser.parser.ParseException: Encountered unexpected token: “(” “(“at line 12, column 24.
问题原因:
原因是因为mybatisplus不识别sql查询语句中的返回使用函数
MyBatis版本升级到v3.5.1以上
错误日志:
Caused by: net.sf.jsqlparser.parser.ParseException: Encountered unexpected token: "(" "("
at line 12, column 24.
Was expecting one of:
"&"
")"
"::"
">"
"ACTION"
"ACTIVE"
"ALGORITHM"
"ARCHIVE"
"ARRAY"
.......此处省略
at net.sf.jsqlparser.parser.CCJSqlParser.generateParseException(CCJSqlParser.java:31234)
at net.sf.jsqlparser.parser.CCJSqlParser.jj_consume_token(CCJSqlParser.java:31067)
at net.sf.jsqlparser.parser.CCJSqlParser.FromItem(CCJSqlParser.java:7931)
at net.sf.jsqlparser.parser.CCJSqlParser.PlainSelect(CCJSqlParser.java:5618)
at net.sf.jsqlparser.parser.CCJSqlParser.SetOperationList(CCJSqlParser.java:5827)
at net.sf.jsqlparser.parser.CCJSqlParser.SelectBody(CCJSqlParser.java:5499)
at net.sf.jsqlparser.parser.CCJSqlParser.SubSelect(CCJSqlParser.java:13888)
at net.sf.jsqlparser.parser.CCJSqlParser.FromItem(CCJSqlParser.java:7907)
at net.sf.jsqlparser.parser.CCJSqlParser.JoinerExpression(CCJSqlParser.java:8750)
at net.sf.jsqlparser.parser.CCJSqlParser.JoinsList(CCJSqlParser.java:8569)
at net.sf.jsqlparser.parser.CCJSqlParser.PlainSelect(CCJSqlParser.java:5619)
at net.sf.jsqlparser.parser.CCJSqlParser.SetOperationList(CCJSqlParser.java:5827)
at net.sf.jsqlparser.parser.CCJSqlParser.SelectBody(CCJSqlParser.java:5499)
at net.sf.jsqlparser.parser.CCJSqlParser.Select(CCJSqlParser.java:5494)
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)
at net.sf.jsqlparser.parser.CCJSqlParserUtil.parse(CCJSqlParserUtil.java:63)
at net.sf.jsqlparser.parser.CCJSqlParserUtil.parse(CCJSqlParserUtil.java:38)
at com.baomidou.mybatisplus.extension.parser.JsqlParserSupport.parserSingle(JsqlParserSupport.java:49)
... 124 common frames omitted
ApiPostj接口测试时发生错误回显
Mapper接口(传日期格式)
Mapper.xml
解决办法:
1.如果当前mybatisplus v3.5.1 以下的 升级得到v3.5.1 版本既可以解决 此问题
2.在mapper接口上面增加 @InterceptorIgnore(tenantLine = “true”) 注解,
(@SqlParser(filter = true) 此注解应该也可以但已经弃用)