mybatis实现分页查询


使用sql实现分页,下面直接上代码。

1.分页类Page

package com.hongruan.utils;

public class Page {
    private int index=1;
    private int size=10;
    private int total;

    private int start;
    private int rows;

    public int getIndex() {
        return index;
    }

    public void setIndex(int index) {
        this.index = index;
    }

    public int getSize() {
        return size;
    }

    public void setSize(int size) {
        this.size = size;
    }

    public int getTotal() {
        return total;
    }

    public void setTotal(int total) {
        this.total = total;
    }

  /*  public int start(){
        return (index-1)*size;
    }
    public int rows(){
        return size;
    }*/

    public int getStart() {
        return (index-1)*size;
    }

    public void setStart(int start) {
        this.start = start;
    }

    public int getRows() {
        return size;
    }

    public void setRows(int rows) {
        this.rows = rows;
    }

    @Override
    public String toString() {
        return "Page{" +
                "index=" + index +
                ", size=" + size +
                ", total=" + total +
                '}';
    }
}

2.接口

UserInfoMapper.java

List<UserInfo> getUserInfoByPage(@Param("page") Page page);

UserInfoService.java

 public List<UserInfo> getUserInfoByPage(Page page);

UserInfoServiceImpl.java(实现UserInfoService.java接口的类)

@Override
    public List<UserInfo> getUserInfoByPage(Page page) {
        return userInfoMapper.getUserInfoByPage(page);
    }

3.映射文件配置

  <select id="getUserInfoByPage" resultMap="BaseResultMap" parameterType="com.hongruan.utils.Page" >
    select * from user_info limit #{page.start},#{page.rows}
  </select>

4.测试方法

  @Autowired
    private UserInfoService userInfoService;
    @Test
    public void pagetest(){
        Page page = new Page();
        page.setIndex(2);
        page.setSize(5);
        page.setTotal(10);
        List<UserInfo> userInfos = userInfoService.getUserInfoByPage(page);
        for (UserInfo usf:userInfos
             ) {
            System.out.println(usf.toString());
        }
    }

测试结果

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值