MyBatis怎样实现MySQL动态分页

MyBatis怎样实现MySQL动态分页,第1张

想用MyBatis根据参数运算实现分页

第一种:Select * from user limit #{p1},#{p2}-1

用这种方式是不行的,因为在MySQL中limit后面是不允许接表达式的

在网上查了下MySQL还有一种动态分页,用MyBatis试了下报语法错误,直接在MySQL中运行是可以的,如下:

<select id="findUsers" resultType="sun.bean.dome.entity.User" statementType="PREPARED">

PREPARE PAGE FROM 'SELECT * FROM USER LIMIT ?,?'

SET @START=1

SET @SIZE=3+1

EXECUTE PAGE USING @START,@SIZE

</select>

其实只想Limit后面的分页参数,是根据传递过来的参数动态运算出来的,求助~!

(数据库迁移Oracle到MySQL,所需分页参数不同)

一、内存分页,使用RowBounds类,但这种方式不推荐,基本不用,所以此方式集成省略。

二、自定义实现,代码量比较少,简单,比较灵活。以下为具体的集成步骤:

1、在User.xml中加入select节点,并组装分页SQ


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/6757263.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-27
下一篇 2023-03-27

发表评论

登录后才能评论

评论列表(0条)

保存