MyBatis学习笔记(二)使用MyBatis实现分页显示

使用MyBatis分页,需要掌握两点知识

1、limit子句的使用。

2、MyBatis多参数传递的使用。

首先简单阐述一下limit子句

limit子句在MySQL中用于进行分页,将多条记录限制条数来显示,一般用法:

SELECT * FROM table LIMIT 0,3

0代表起始索引,3代表要显示的条数,所以上面的SQL就是要显示1-3条记录。

在此基础上,我们引入两个变量:currentPage(当前页码),pageSize(页容量),看下方的例子

SELECT * FROM t LIMIT 0,2 -- 显示1-2条记录,第1页,currentPage=1,pageSize=2
SELECT * FROM t LIMIT 2,2 -- 显示3-4条记录,第2页,currentPage=2,pageSize=2
SELECT * FROM t LIMIT 4,2 -- 显示5-6条记录,第3页,currentPage=3,pageSize=2

由此可以得出,起始索引与当前页码的公式:startIndex = (currentPage - 1)*pageSize,知道了这一步,我们进入下一步

MyBatis多参数传递

其实非常简单,利用注解@param就能实现

public List<Message> findByGetter(@Param(value="getter")String getter,@Param("startNum")int startNum,@Param(value="pageSize")int pageSize);

在接口里的抽象方法参数前加上注释,@Param(value="xxx")和@Param("xxx")都行,xxx就可以作为映射文件取值的属性名,用ognl表达式#{xxx}就能取出相应值。

<select id="findByGetter" resultType="entity.Message">
    select * from message where getter = #{getter} or getter = '所有人' limit #{startNum},#{pageSize}
</select>
接下来就是接收来自前端的传参进行处理就行

servlet接收前台的点击,判断是点击上一页还是下一页以对当前页码进行处理

服务层接收到当前页码后,通过公式计算出对应的起始索引,和页容量一并传递给dao层进行分页查询即可


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值