关于mybatis分页 的简单使用,超级简单

本文介绍如何在MyBatis逆向工程的基础上实现分页功能,包括修改EXAMPLE类添加分页参数、调整MapperXml文件中的SQL语句以及在Controller类中进行页面跳转和数据展示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近做的项目之中利用到mybatis逆向工程,但没有现成的分页就问了问大佬们,就顺便做下笔记吧。

首先在逆向工程中自动生成的EXAMPLE类中添加:
1.` protected int pageSize;
protected int startRow;

public int getPageSize() {
    return pageSize;
}

public void setPageSize(int pageSize) {
    this.pageSize = pageSize;
}

public int getStartRow() {
    return startRow;
}

public void setStartRow(int startRow) {
    this.startRow = startRow;
}`
2.然后在其中要使用的MapperXml中添加id为selectByexample的sql语中

<if test="startRow != null and pageSize !=null and pageSize !=0">
limit #{startRow},#{pageSize}
</if>

在要使用函数方法中添加要赋值函数页大小和起始页数
public List<RobotInfo> robotInfoList(int startRow) {
RobotInfoExample example = new RobotInfoExample();
//将每页中的大小赋值
example.setPageSize(4);
example.setStartRow(startRow);
return robotInfoMapper.selectByExample(example);
}

添加需要查询的总页数

    public int allcount() {
        // 计算总条数
        RobotInfoExample example = new RobotInfoExample();
        return robotInfoMapper.countByExample(example);
    }

在需要的control类中`@RequestMapping(“manageRobotDetail”)
public String RobotInfoList(Model model, Integer pageNo,HttpSession session) {
int pageNums;// 页码最大值
int newsNums = iRobotInfoService.allcount();// 数据库中有效条目数
if (newsNums % 4 == 0) {
pageNums = newsNums / 4;
} else {
pageNums = newsNums / 4 + 1;
}
session.setAttribute(“pageNums”, pageNums);
if (pageNo != null) {
List robotInfoList = iRobotInfoService.robotInfoList((pageNo - 1) * 4);
session.setAttribute(“robotInfoList”, robotInfoList);
session.setAttribute(“pageNo”, pageNo);
} else {
List robotInfoList = iRobotInfoService.robotInfoList(0);
session.setAttribute(“robotInfoList”, robotInfoList);
session.setAttribute(“pageNo”, 1);// 页码默认是从一开始的。
}
List robotInfoList = iRobotInfoService.robotInfoList(pageNo);

    return "robot/manageRobotDetail";
}

`
在jsp页面中


    <ul class="pagination">
        <c:choose>
            <c:when test="${pageNo>1}">
                <li><a href="#">&laquo;</a>
                </li>
                <li><a href="manageRobotDetail.action">首页</a>
                </li>
                <li><a href="manageRobotDetail.action?pageNo=${pageNo-1}">上一页</a>
                </li>
            </c:when>
        </c:choose>

        <c:choose>
            <c:when test="${pageNo!=pageNums}">
                <li><a href="feedbacklist.action?pageNo=${pageNo+1}">下一页</a></li>
                <li><a href="feedbacklist.action?pageNo=${pageNums}">末页</a></li>	当前页数:[${pageNo}/${pageNums}]
            </c:when>
        </c:choose>

    </ul>

这一次写的比较仓促所以需要以后慢慢改写

这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值