首页 > 数据库 >mybatis-plus使用聚合函数报错---------net.sf.jsqlparser.parser.ParseException: Encountered unexpected token:

mybatis-plus使用聚合函数报错---------net.sf.jsqlparser.parser.ParseException: Encountered unexpected token:

时间:2023-04-22 19:12:51浏览次数:48  
标签:unexpected java CCJSqlParserUtil parser 报错 jsqlparser net sf

错误日志:

 
Caused by: net.sf.jsqlparser.parser.ParseException: Encountered unexpected token: "with" "WITH"
    at line 62, column 20.

Was expecting one of:

    "&"
    "::"
    ";"
    "<<"
    ">>"
    "COLLATE"
    "EMIT"
    "HAVING"
    "["
    "^"
    "|"
    <EOF>

    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.Statement(CCJSqlParser.java:163)
    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)
    ... 56 more
 

部分代码:

 mapper.xml

 
 <select id="tt" resultType="String">
        select
        ifnull(billcode, '合计') billcode
        from
        (
        select
        *
        from
        (
        select
        A.id,
        A.billcode,
        A.billamt,
        A.bankcode,
        d.depart_name,
        A.billtype,
        A.billstatus,
        A.propsrinfo_name,
        A.propsrinfo_acctid,
        A.tranamt,
        A.trandate,
        A.bartamt,
        A.next_bankname,
        A.negtbl,
        A.drawdate,
        A.duedate,
        A.draweracct_name,
        A.draweracct_acctid,
        A.draweracct_banknum,
        A.draweracct_bankname,
        A.payeeacct_name,
        A.payeeacct_acctid,
        A.payeeacct_banknum,
        A.payeeacct_bankname,
        A.acptracct_name,
        A.acptracct_acctid,
        A.acptracct_banknum,
        A.acptracct_bankname,
        B.tranddate,
        B.trandamt,
        B.whendate,
        B.RETURNAMT,
        B.RETURNDATE,
        A.SYS_ORG_CODE,
        OPERFLAG,
        DISPLACEFLAG
        from
        BUS_BILL_INFO_CUST A
        left join BUS_BILL_PAYINFO B on
        A.ID = B.BILLINFOID
        left join sys_depart d on
        a.SYS_ORG_CODE = d.org_code
        order by
        A.CREATE_TIME desc
        )u
        ) y
        where
        OPERFLAG = 'D'
        and DISPLACEFLAG = '0'
        and y.id = '286664a968714baa9800a5712e26f1cb'
        group by
        y.billcode with rollup
    </select>
 

mapper接口:

List<String> tt();

问题原因:

原因是因为mybatisplus不识别sql查询语句中的返回使用函数,例如

group by y.billcode with rollup聚合函数

解决办法:

增加@InterceptorIgnore(tenantLine = "true"),网上也有说增加

@SqlParser(filter = true)(没试,应该也可以)
@InterceptorIgnore(tenantLine = "true")
List<String> tt();

 参考http://t.zoukankan.com/zhangxianming-p-15560033.html

标签:unexpected,java,CCJSqlParserUtil,parser,报错,jsqlparser,net,sf
From: https://www.cnblogs.com/chuangsi/p/17343701.html

相关文章

  • idea本地编译报错 程序包org.slf4j不存在
    idea本地编译报错程序包org.slf4j不存在 问题描述:从若依官网下载的项目,修改了自己的数据库连接,运行一直报错,如下(怀疑是j依赖包不全导致,期间我清空了本地mavne库重新下载依然不行):  解决办法:  参考如下:主要原因可能有两种情况:1.还是jar包下载失败,或者没有自动......
  • 【OMNET++网络仿真系列学习笔记-1】Ubuntu 22.04版本安装OMNET++6.0版本及各类报错合
    本章目录前言第一步:下载6.0压缩包第二步:解压并安装第三步:启动环境变量第四步:遇到的问题第五步:./configure编译结束第六步:验证安装是否可以正常运行?第七步:验证IDE总结:写在后面的话前言本篇文章记录了22.04版本Ubuntu安装OMNET++6.0版本及各类报错合集解决方案,途中遇到了无数问题,很......
  • bug|初始化项目|sass-loader报错:TypeError: this.getResolve is not a function at Ob
    Modulebuildfailed:TypeError:this.getResolveisnotafunctionatObject.loader的解决npmuninstallsass-loader(卸载当前版本)[email protected]......
  • MySQL Shell 使用报错 SyntaxError: Unexpected identifier
    文章目录一、问题报错二、解决办法一、问题报错MySQLShell8.0.23Copyright(c)2016,2021,Oracleand/oritsaffiliates.OracleisaregisteredtrademarkofOracleCorporationand/oritsaffiliates.Othernamesmaybetrademarksoftheirrespectiveowners.T......
  • Flink启动报错:/bin/config.sh: line 32: syntax error near unexpected token
    flink启动报错xxx@ssss:/xxx/flink-1.15.2/bin>shstart-cluster.sh/xxx/flink-1.15.2/bin/config.sh:line32:syntaxerrornearunexpectedtoken`<'/xxx/flink-1.15.2/bin/config.sh:line32:`done<<(find"$FLINK_LIB_DIR"!-ty......
  • c++编译报错 error: parse error in template argument list
    [57%]BuildingCXXobjectdnet/CMakeFiles/dnet.dir/dconfig/dconfig_manager.cpp.oInfileincludedfrom/home/vi/git/dos/dnet/dconfig/dconfig_manager.cpp:1:/home/vi/git/dos/dnet/./dconfig/dconfig_manager.h:Inmemberfunction‘Tdnet::dconfig_manager::get_......
  • grafana仪表盘的数据报错unexpected character: ‘\ufeff’”
    grafana仪表盘的数据拷贝展示后,出现报错:Parseerroratchar4:unexpectedcharacter:‘\ufeff’”报错时点击编辑仪表盘,发现没有什么异常的地方:这时可以点击jsons数据来查看是否存在了些特殊的不可见字符这里面一些不可见字符或者或展示出来,删除即可这是低版本的一个bug......
  • git执行push操作时报错:remote: xxx: Incorrect username or password (access token)
    问题:最近用gitpush项目到gitee时报错,提示信息如下:remote:xxx:Incorrectusernameorpassword(accesstoken)fatal:Authenticationfailedfor'https://gitee.com/xxx/xxx.git/'想了一下,原来是几天前我把gitee的密码给改了,所以原先git存留的密码就失效了解决方案清......
  • vue3打包后一片空白控制台报错
    问题原因是路径不对,加上一行代码就可完美解决问题。在vue.config文件中加上  publicPath:'./' 即可解决问题。问题如图所示: 如何解决问题呢?     ......
  • SqlParser
    SqlParser基本概念SqlUtil.andExpressions:拼接查询条件。SqlParser:sql转换器,将sql字符串转换为sql语法树SqlNode:sql语法树基础元素SqlParserPos:为当前元素在sql语法树中位置SqlKind:节点类型SqlCall:语句节点,用于判断语句类型SqlBasicCall:最小单位的完整sql节点例如AS,JOIN,......