baomidou / mybatis-plus

An powerful enhanced toolkit of MyBatis for simplify development
https://baomidou.com
Apache License 2.0
16.29k stars 4.3k forks source link

[错误报告]: 使用行行比较语法,解析报错:Failed to process, please exclude the tableName or statementId. #6477

Closed TinChi0818 closed 1 week ago

TinChi0818 commented 1 week ago

确认

当前程序版本

3.1.0

问题描述

xml文件中SQL定义如下: <select id="listExistConfigs" resultMap="BaseResultMap"> ` SELECT * from table_name WHERE (store_id, brand_id, sign_id) IN

(#{item.storeId}, #{item.brandId}, #{item.signId})
    AND del_flag = 0
    AND is_valid = 1`
`</select>`

解析报错。

详细堆栈日志

Caused by: com.baomidou.mybatisplus.core.exceptions.MybatisPlusException: Failed to process, please exclude the tableName or statementId.
Caused by: net.sf.jsqlparser.JSQLParserException: null
    at net.sf.jsqlparser.parser.CCJSqlParserUtil.parseStatements(CCJSqlParserUtil.java:154)
    at com.baomidou.mybatisplus.core.parser.AbstractJsqlParser.parser(AbstractJsqlParser.java:60)
    ... 203 common frames omitted
Caused by: net.sf.jsqlparser.parser.ParseException: Encountered unexpected token: "," ","
    at line 4, column 24.

Was expecting one of:

    "&&"
    ")"
    "AND"

    at net.sf.jsqlparser.parser.CCJSqlParser.generateParseException(CCJSqlParser.java:19398)
    at net.sf.jsqlparser.parser.CCJSqlParser.jj_consume_token(CCJSqlParser.java:19248)
    at net.sf.jsqlparser.parser.CCJSqlParser.AndExpression(CCJSqlParser.java:6088)
    at net.sf.jsqlparser.parser.CCJSqlParser.OrExpression(CCJSqlParser.java:6051)
    at net.sf.jsqlparser.parser.CCJSqlParser.Expression(CCJSqlParser.java:6022)
    at net.sf.jsqlparser.parser.CCJSqlParser.WhereClause(CCJSqlParser.java:5379)
    at net.sf.jsqlparser.parser.CCJSqlParser.PlainSelect(CCJSqlParser.java:3195)
    at net.sf.jsqlparser.parser.CCJSqlParser.SetOperationList(CCJSqlParser.java:3351)
    at net.sf.jsqlparser.parser.CCJSqlParser.SelectBody(CCJSqlParser.java:3059)
    at net.sf.jsqlparser.parser.CCJSqlParser.Select(CCJSqlParser.java:3052)
    at net.sf.jsqlparser.parser.CCJSqlParser.SingleStatement(CCJSqlParser.java:132)
    at net.sf.jsqlparser.parser.CCJSqlParser.Statements(CCJSqlParser.java:455)
    at net.sf.jsqlparser.parser.CCJSqlParserUtil.parseStatements(CCJSqlParserUtil.java:152)
TinChi0818 commented 1 week ago

???

miemieYaho commented 1 week ago

image 闷着头确认看都不看?