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