ParseException: Encountered unexpected token: “(“ “(“ at line 3, column 6.

springboot项目整合mybatis-plus项目,编写test,执行service调用dao中的xml写的sql的时候,项目报错:

Caused by: com.baomidou.mybatisplus.core.exceptions.MybatisPlusException: Failed to process, please exclude the tableName or statementId.

Caused by: net.sf.jsqlparser.JSQLParserException
    at net.sf.jsqlparser.parser.CCJSqlParserUtil.parseStatements(CCJSqlParserUtil.java:128)
    at com.baomidou.mybatisplus.core.parser.AbstractJsqlParser.parser(AbstractJsqlParser.java:60)
    ... 61 more
Caused by: net.sf.jsqlparser.parser.ParseException: Encountered unexpected token: "(" "("
    at line 3, column 6.

Was expecting one of:

    "&"
    ","
    "::"
    ";"
    "<<"
    ">>"
    "ACTION"
    "ANY"
    "AS"
    "BYTE"
    "CASCADE"
    "CAST"
    "CHAR"
    "COLLATE"
    "COLUMN"
    "COLUMNS"
    "COMMENT"
    "COMMIT"
    "CONNECT"
    "DESCRIBE"
    "DO"
    "ENABLE"
    "END"
    "EXCEPT"
    "EXTRACT"
    "FIRST"
    "FN"
    "FOLLOWING"
    "FOR"
    "FROM"
    "GROUP"
    "HAVING"
    "INDEX"
    "INSERT"
    "INTERSECT"
    "INTERVAL"
    "INTO"
    "ISNULL"
    "KEY"
    "LAST"
    "MATERIALIZED"
    "MINUS"
    "NEXTVAL"
    "NO"
    "NULLS"
    "OPEN"
    "ORDER"
    "OVER"
    "PARTITION"
    "PATH"
    "PERCENT"
    "PRECISION"
    "PRIMARY"
    "PRIOR"
    "RANGE"
    "REPLACE"
    "ROW"
    "ROWS"
    "SEPARATOR"
    "SIBLINGS"
    "START"
    "TABLE"
    "TEMP"
    "TEMPORARY"
    "TOP"
    "TRUNCATE"
    "TYPE"
    "UNION"
    "UNSIGNED"
    "VALUE"
    "VALUES"
    "WHERE"
    "WINDOW"
    "XML"
    "ZONE"
    "^"
    "|"
    <EOF>
    <K_DATETIMELITERAL>
    <K_DATE_LITERAL>
    <S_CHAR_LITERAL>
    <S_IDENTIFIER>
    <S_QUOTED_IDENTIFIER>

    at net.sf.jsqlparser.parser.CCJSqlParser.generateParseException(CCJSqlParser.java:20951)
    at net.sf.jsqlparser.parser.CCJSqlParser.jj_consume_token(CCJSqlParser.java:20798)
    at net.sf.jsqlparser.parser.CCJSqlParser.Statements(CCJSqlParser.java:562)
    at net.sf.jsqlparser.parser.CCJSqlParserUtil.parseStatements(CCJSqlParserUtil.java:126)
    ... 62 more

Disconnected from the target VM, address: '127.0.0.1:59287', transport: 'socket'

Process finished with exit code -1
[community-platform]2022-03-02 16:11:17,880|INFO|192.168.1.141[community-platform]2022-03-02 16:11:17,884|INFO|192.168.1.141[community-platform]2022-03-02 16:11:17,887|INFO|192.168.1.141[community-platform]2022-03-02 16:11:17,898|INFO|192.168.1.141[community-platform]2022-03-02 16:11:17,920|INFO|192.168.1.141

我的mapper的xml如下:

<!-- 查询用户分页数据 -->
	<select id="getOwnerStatisticsPage" resultType="com.susu.Result" parameterType="com.susu.Query">
		SELECT
		pid,
		sum(online = 1) AS onlinesum,
		count(*) sum
		FROM
		table_name
		WHERE 1 = 1
		<if test="query.beginTime != null and query.beginTime != ''">
			AND create_time &gt;= #{query.beginTime}
		</if>
		<if test="query.stopTime != null and query.stopTime != ''">
			AND create_time &lt; #{query.stopTime}
		</if>
		GROUP BY
		pid
		ORDER BY
		pid ASC
		LIMIT #{query.currPage},#{query.pageSize}
	</select>
Mapper层接口方法:

List<Result> getPage(@Param("query") Query query);

我们可以看到,是解析异常,那么可以在Mapper层接口方法上加上如下注解,排除sql解析

@SqlParser(filter=true)
List<Result> getPage(@Param("query") Query query);

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
根据引用\[1\]中的错误信息,报错信息显示在第3行第9列遇到了意外的标记: ")",而期望的标记是"!" "(" "NOT"。这个错误信息表明在SQL语句中遇到了一个不符合语法规则的标记。根据引用\[2\]中的建议,可以尝试修改pom.xml文件,排除mybatis-plus自带的jsqlparser,引入jsqlparser4.2版本来解决这个问题。具体的修改步骤可以参考引用\[2\]中提供的示例代码。 另外,引用\[3\]中提供了一个使用PostgreSQL进行条件查询的示例语句,其中content字段为JSON对象。根据你提供的问题,这个示例语句与你遇到的错误信息似乎没有直接关联。如果你需要进一步解决这个错误,请提供更多的上下文信息或者相关的代码片段,以便我能够更准确地帮助你解决问题。 #### 引用[.reference_title] - *1* [net.sf.jsqlparser.parser.ParseException: Encountered unexpected token: “)“ “)“ at line 3, column](https://blog.csdn.net/qq_43564245/article/details/124597169)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [net.sf.jsqlparser.parser.ParseException: Encountered unexpected token: “->>](https://blog.csdn.net/Vienn_tu/article/details/130178095)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值