mybatis分页错误

最近项目上遇到一个奇怪的问题,使用了mybatis分页之后,发现页面展示记录的时候,同一个人竟然会在相邻的两页里边出现,

即同一个人有两个row_id,经核查,是mybatis的版本较低导致的,如下为3.4以下版本的查询sql

SELECT *
  FROM (SELECT TMP_PAGE.*, ROWNUM as ROW_ID
          FROM (sql  order by opendate desc) TMP_PAGE   WHERE ROWNUM <= 30)
 WHERE ROW_ID > 20

下边是3.4以上的查询sql

SELECT *
  FROM (SELECT TMP_PAGE.*, ROWNUM ROW_ID
          FROM (sql  order by opendate desc) TMP_PAGE   )
 WHERE ROW_ID <= 30
   AND ROW_ID > 20

总结分析在于老的版本进行了两次截取,新版本一次截取完成。

最终的pom文件

<dependency>
		    <groupId>tk.mybatis</groupId>
		    <artifactId>orderby-helper</artifactId>
		    <version>0.0.1</version>
		    <exclusions>
				<exclusion>
					 <groupId>com.github.jsqlparser</groupId>
    				 <artifactId>jsqlparser</artifactId>
				</exclusion>
			</exclusions>
		</dependency>
<dependency>
			<groupId>com.github.pagehelper</groupId>
			<artifactId>pagehelper-spring-boot-starter</artifactId>
			<version>1.2.12</version>
			<exclusions>
				<exclusion>
					<groupId>org.mybatis.spring.boot</groupId>
					<artifactId>mybatis-spring-boot-starter</artifactId>
				</exclusion>
			</exclusions>
		</dependency>
<dependency>
			<groupId>org.mybatis.spring.boot</groupId>
			<artifactId>mybatis-spring-boot-starter</artifactId>
			<version>1.3.5</version>
		</dependency>

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值