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