赞
踩
使用postgresql根据json对象字段属性进行条件查询(content字段为json对象)
select * from test where content::json->>'value' != '0'
报错net.sf.jsqlparser.parser.ParseException: Encountered unexpected token: “->>”
该查询使用了mybatis-plus分页插件PaginationInnerInterceptor进行分页查询,默认自动优化 COUNT SQL,使用的mybatis-plus版本为3.4.3.2,其jsqlparser版本为4.0,解析时报错,无法优化会使用原sql,因此可以正常查询,只不过会打印错误日志。
1.修改pom.xml文件
排除mybatis-plus自带的jsqlparser,引入jsqlparser4.2版本
<dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>3.4.3.2</version> <exclusions> <!-- 解决jsqlparser 依赖版本冲突 --> <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>
2.使用分页查询之前,手动设置OptimizeCountSql为false
// 关闭自动优化
page.setOptimizeCountSql(false);
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。