解决 Caused by: net.sf.jsqlparser.parser.ParseException: Encountered unexpected token:XXXXXXX_存储过程 encountered unexpected token: ")" ")-程序员宅基地

技术标签: java  ORM框架  mybatis  开发语言  

场景

使用项目引入mybatisplus与MyBatis-Plus-Join进行联表查询时报的错误 ,复制sql到客户端执行没有报错

解决

可能性一

在网上找的原因大多是说使用到了多租户功能,Mybatis-plus 会进行数据权限的过滤,添加注解来解决,因为使用版本时3.4以上,是在XXXXMapper.java的方法上添加如下注解

@InterceptorIgnore(tenantLine = "true")

还是报错。

可能性二

找到第二个可能原因是说依赖冲突,可能是Mybatis-plus包与pagehelper包存在com.github.jsqlparser:jsqlparser冲突

解决的话,要么排除两个依赖中其中一个 的jsqlparser的包,或者全部排除重新引入一个。

但是,项目这里只有Mybatis-plus包

最后

问题应该还是依赖的问题

尝试将Mybatis-plus包的jsqlparser的包排除,原本Mybatis-plus包的jsqlparser版本是4.6,重新引入4.6后,还是报错。改为4.2后,不再报错。

        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <exclusions>
                <exclusion>
                    <artifactId>jsqlparser</artifactId>
                    <groupId>com.github.jsqlparser</groupId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>com.github.jsqlparser</groupId>
            <artifactId>jsqlparser</artifactId>
            <version>4.2</version>
        </dependency>

后面发现原因是Mybatis-plus在sql语句中插入了2行空行,导致解析失败报错

所以也可以在yml文件通过配置解决

mybatis-plus:
  configuration:
    shrink-whitespaces-in-sql: true #从SQL中删除多余的空格字符 

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/m0_54761389/article/details/133947585

智能推荐

洛谷 P6236 [COCI2010-2011#1] LJUTNJA (尚贤)_洛谷p6236-程序员宅基地

文章浏览阅读842次。题目传送门贪心!!!贪心思想:让分完糖果后得 最大值 最小AC代码1#include<bits/stdc++.h>using namespace std;long long a[100001],ans,n,m,maxx,qwq=1;//注意开 long long bool cmp(long long x,long long y)//手打 cmp { ..._洛谷p6236

两个对象数组找相同元素或不同元素_快速获取两个数组某个元素对象相同值的元素-程序员宅基地

文章浏览阅读2.1k次,点赞3次,收藏18次。两个对象数组找相同元素或不同元素_快速获取两个数组某个元素对象相同值的元素

Springboot结合RabbitMQ案例_springboot rabbitmq实例-程序员宅基地

文章浏览阅读486次,点赞3次,收藏2次。1.整合SpringBoot之Fanout 模式生产者application.yml(默认的username和password是guest)# 服务端口server: port: 8080# 配置rabbitmq服务spring: rabbitmq: username: admin password: admin virtual-host: / host: 127.0.0.1 port: 5672OrderService.javapacka._springboot rabbitmq实例

Redis单节点安装、主从复制、java连接redis和Redis集群安装_redis单节点java连接-程序员宅基地

文章浏览阅读1.4k次。Redis单节点安装配置阿里云yum源 下载配置文件 wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo 生成缓存 yum makecache安装redis1、安装依赖 yum install -y gcc-c++ gcc tcl2、上传压缩包并解压 tar -xvf redis-3.0.0.tar.gz3、编译 cd redis-3.0.0 make_redis单节点java连接

Less-less导入其他less文件_less 外部文件-程序员宅基地

文章浏览阅读3.4k次。@import "triangle.less";// .less可省略@import "triangle.less";_less 外部文件

操作系统 - 进程调度的Java实现(FCFS,RR,HPF)_编写程序实现对5个进程的调度模拟,要求至少采用两种不同的调度算法分别进行模拟调-程序员宅基地

文章浏览阅读2.3k次,点赞6次,收藏32次。文章目录实验要求具体思路调度算法介绍最高优先数优先的调度算法先来先服务算法其他算法代码实现最高优先数优先的调度算法实验要求用高级语言编写和调试一个进程调度程序,以加深对进程的概念及进程调度算法的理解。编写并调试一个模拟的进程调度程序,采用最高优先数优先调度算法对五个进程进行调度。 “最高优先数优先”调度算法的基本思想是把 CPU 分配给就绪队列中优先数最高的进程。静态优先数是在创建进程时确定的,并在整个进程运行期间不再改变。动态优先数是指进程的优先数在创建进程时可以给定一个初始值,并且可以按一_编写程序实现对5个进程的调度模拟,要求至少采用两种不同的调度算法分别进行模拟调

随便推点

Python-借助anaconda安装openpose 人体姿态模型_pycharm + anaconda+openpose-程序员宅基地

文章浏览阅读3.7k次。预先安装好anaconda。下载tf-pose-estimation-master:https://github.com/ildoonet/tf-pose-estimation进入cmd,创建一个新的python3.7的虚拟环境。env_name是要创建的虚拟环境的名字,x.x是python的版本。我创建的虚拟环境命名为python37conda create --name env_name python=x.x激活虚拟环境activate python37安装tensorflowcon_pycharm + anaconda+openpose

Windows安装linux(ubuntu 18.04)双系统-超详细_windows装linux18.04-程序员宅基地

文章浏览阅读4.9k次,点赞16次,收藏25次。Linux是一个类unix的操作系统。因为其开源特性,而广受程序员的喜爱。严谨来说,Linux是个操作系统内核。如果只安装Linux内核,系统就被称为纯Linux系统。纯Linux系统是以CUI(文字用户界面)来运行的,所以用起来很麻烦。于是就出现了一些的Linux发行版。Linux的发行版为程序员提供了GUI(图形化用户界面),但仍保留其Linux内核。常见的Linux发行版有:Ubuntu,CentOS,Red Hat,Kali,Debian,Fedora等。_windows装linux18.04

Vmwaer ESXI6.0开启图形化WEB/UI访问_esxi6.0网页访问-程序员宅基地

文章浏览阅读5.3k次。一、第一步需要下载一个VMware-viclient然后在这个软件里开启SSH,因为默认情况下ssh没有开启,相关软件包已经打包到了百度网盘(1)安装好VMware-viclient之后登入你的esxi服务器,找到如图位置(2)这里找到ssh服务器,然后点击于主机一起启动和停止,然后点启动,此时SSH服务就会开启二、SSH到 ESXI(1)随便找一个SSH的软件,我这里用的moba,输入你ESXI服务器的ip地址,账号是root,密码是你装ESXI时候手动配置的密码三、上传web补丁包_esxi6.0网页访问

mui.css 滚动条消失 导致超出部分无法显示 overflow属性_mui 滚动条消失-程序员宅基地

文章浏览阅读405次。导入mui class属性mui-scroll-wrapper后,发现滚动条消失,页面无法滚动导致超出页面部分无显示.查看 class = "mui-scroll-wrapper"带来的样式,其中有个overflow= hidden去掉这个样式,发现滚动条就出现,可以向下滑动显示 下面的内容这是mui.css 默认样式所以再写一个overflow 覆盖 mui.css的默认样式演示:但是我发现 , 只要不是hidden , 其他的都可以实现.就要查 overflow的用法了:overfl_mui 滚动条消失

【ART-Pi与RT-Thread入门】⑤ART-Pi配置PWM设备(避坑指南,已验证)-程序员宅基地

文章浏览阅读1.8k次,点赞6次,收藏12次。文章目录开发环境创建项目步骤1:RT-Thread Studio项目设置步骤2:打开board.h宏定义步骤3:STM32CubeMX(或者STM32CubeIDE)配置3.0 新建基于STM32H750XBHx的项目。3.1 在Pinout view中配置PI5为TIM8_CH13.2 配置时钟3.3 RCC中配置使用外部高速晶振HSE3.4 TIM8配置CH13.5 设置代码输出选项3.6 点击Generate Code4. 修改board.c和board.h5. 修改main.c6. 避坑指南开发环_art-pi

在CentOS服务器上安装Tesseract完整版,附带解决错误的办法,Java程序进行图像识别_could not initialize class net.sourceforge.tess4j.-程序员宅基地

文章浏览阅读2k次。安装安装gcc、gcc-c++、make,如果有就不需要安装:yum install gcc gcc-c++ make 安装编译相关工具,没有的话编译时候可能报错:yum install autoconf automake libtool 安装对图片识别相关支持工具,没有这些在后续执行Tesseract命令时会报错,可以尝试一下:yum install libjpeg-devel l..._could not initialize class net.sourceforge.tess4j.tessapi at net.sourceforge

推荐文章

热门文章

相关标签