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
1.如果当前mybatisplus v3.5.1 以下的 升级得到v3.5.1 版本既可以解决 此问题
2.在mapper接口上面增加 @InterceptorIgnore(tenantLine = "true") 注解,
(@SqlParser(filter = true) 此注解应该也可以但已经弃用)