首页 > 数据库 >left join 出现重复on导致sql语句报错

left join 出现重复on导致sql语句报错

时间:2024-11-05 08:46:15浏览次数:3  
标签:解析器 join 报错 jsqlparser sql mybatis expression left

left join 出现重复on导致sql语句报错

​ mybatis-plus开启多租户插件功能时,在进行链表查询时会重复出现on导致sql语句报错

原因

​ 原因是引入的分页拆件中的jsqlparser解析器和mybatis-plus的jsqlparser解析器冲突了,导致默认采用了分页拆件的jsqlparser解析器

​ 分页拆件中的jsqlparser解析器,在处理left join on表达式是这样的

public void setOnExpression(Expression expression){
	onExpression.add(0,expression);
}

​ mybatis-plus的jsqlparser解析器,在处理left join on表达式是这样的

public void setOnExpression(Expression expression){
	onExpression = expression
}

解决办法

​ 排除pagehelper-spring-boot-starter的jar中的jsqlparser依赖
排除

       <exclusions>
                <exclusion>
                    <artifactId>jsqlparser</artifactId>
                    <groupId>com.github.jsqlparser</groupId>
                </exclusion>
            </exclusions>
<dependency>
	<groupId>com.github.pagehelper</groupId>
	<artifactId>pagehelper-spring-boot-starter</artifactId>
		<exclusions>
			<exclusion>
				<artifactId>mybatis-spring</artifactId>
			<groupId>org.mybatis</groupId>
		</exclusion>
		<exclusion>
			<artifactId>mybatis</artifactId>
			<groupId>org.mybatis</groupId>
		</exclusion>
		<exclusion>
			<groupId>com.github.jsqlparser</groupId>
			<artifactId>jsqlparser</artifactId>
		</exclusion>
	</exclusions>
</dependency>

标签:解析器,join,报错,jsqlparser,sql,mybatis,expression,left
From: https://blog.csdn.net/qq_52690469/article/details/143492873

相关文章

  • [nltoSql]A Survey on Text-to-SQL Parsing: Concepts, Methods, and Future Directio
    全文总结这篇论文题为《ASurveyonText-to-SQLParsing:Concepts,Methods,andFutureDirections》。研究背景背景介绍: 这篇文章的研究背景是文本到SQL解析任务的重要性和挑战性。文本到SQL解析的目标是将自然语言(NL)问题转换为结构化查询语言(SQL),以便在关系数据库上执......
  • ssh 登录 SecureCRT连接服务器时报错
    SecureCRT连接服务器时报错,报错信息为:Keyexchangefailed.Nocompatiblekeyexchangemethod.Theserversupportsthesemethods:curve25519-sha256,[email protected],ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchang......
  • 基于Java+SpringBoot+Mysql实现的快递柜寄取快递系统功能实现十
    一、前言介绍:1.1项目摘要随着电子商务的迅猛发展和城市化进程的加快,快递业务量呈现出爆炸式增长的趋势。传统的快递寄取方式,如人工配送和定点领取,已经无法满足现代社会的快速、便捷需求。这些问题不仅影响了快递服务的效率,也增加了快递员和消费者的不便。在这样的背景下,快递柜......
  • SQL注入其他情况
    宽字节注入当某字符的大小为两个字节时,被称为宽字节。宽字节注入是利用数据库在处理GBK等宽字节编码时的特性,通过特定的输入绕过过滤。当发现网站对敏感字符进行转义过滤,且数据库使用的是gbk编码GBK双字节编码:一个汉字用两个字节表示,首字节对应0x81-0xFE,尾字节对应0x40-0xFE......
  • 数据库操作与数据管理——Rust 与 SQLite 的集成
    第六章:数据库操作与数据管理第一节:Rust与SQLite的集成在本节中,我们将深入探讨如何在Rust中使用SQLite数据库,涵盖从基本的CRUD操作到事务处理、数据模型的构建、性能优化以及安全性考虑等方面。SQLite是一个轻量级的关系型数据库,适合嵌入式应用和小型项目。我们将利......
  • Java毕设项目案例实战II基于Java+Spring Boot+Mysql的果蔬作物疾病防治系统的设计与实
    目录一、前言二、技术介绍三、系统实现四、核心代码五、源码获取全栈码农以及毕业设计实战开发,CSDN平台Java领域新星创作者,专注于大学生项目实战开发、讲解和毕业答疑辅导。获取源码联系方式请查看文末一、前言随着现代农业的快速发展,果蔬作物的健康生长与高效管理......
  • Java毕设项目案例实战II基于Java+Spring Boot+Mysql的公司资产网站设计与实现(开发文档
    目录一、前言二、技术介绍三、系统实现四、核心代码五、源码获取全栈码农以及毕业设计实战开发,CSDN平台Java领域新星创作者,专注于大学生项目实战开发、讲解和毕业答疑辅导。获取源码联系方式请查看文末一、前言在当今信息化高速发展的时代,企业资产的高效管理和精确......
  • 第三十三讲:到底可不可以使用join?
    第三十三讲:到底可不可以使用join?简概:厌烦了平淡的开头提出问题​ 在实际生产中,关于join语句使用的问题,一般会集中在以下两类:我们DBA不让使用join,使用join有什么问题呢?如果有两个大小不同的表做join,应该用哪个表做驱动表呢?提出示例​ 今天这篇文章,我就先跟你说......
  • MySQL主从复制
    https://blog.51cto.com/u_16175461/119038601.配置主服务器修改配置文件my.cnf[mysqld]server-id=1#设置id,这个可以是任意数字log-bin=/mydata/log/master-bin#启动binlog日志,名字必须是log-binsync_binlog=1......
  • SQL注入学习笔记
    BUUSQLCOURSE1一道很入门的的SQL手工注入,所用到的知识点也就只有union和group_concat联合注入和输出,带给我的主要收获是解读了题解代码后初步理解了查数据库名->表名->列名—>具体元素的三板斧,和具体查询原理0unionselectdatabase(),group_concat(table_name)frominform......