10. MyBatis PageHelper (快速分页)

准备jar

  • jsqlparser-0.9.5.jar
  • pagehelper-5.1.2.jar

配置文件

<!-- 引入分页插件,必须紧跟在在别名之后 -->
    <plugins>
        <plugin interceptor="com.github.pagehelper.PageInterceptor"></plugin>
    </plugins>

后台代码

  • 启动Mapper的方法为MyBatis Generator 反向生成
业务层代码
    /**查询所有的方法  所以给的 mapper.selectByExample(null); 的参数为null*/
    public List<Users> getAll() {
        // TODO Auto-generated method stub
        return mapper.selectByExample(null);
    }
Action层代码
    /**
     * 查询用户数据(分页查询)
     * 
     * @param没有传入参数pagenum时,给一个默认值>defaultValue="1"<
     */
    @RequestMapping("users.do")
    public String getUsers(@RequestParam(value = "pagenum", defaultValue = "1") Integer pagenum,Model model) {
        //引入PagerHelper分页插件
        //在查询之前调用分页设置(第几页,每页大小)
        PageHelper.startPage(pagenum, 3);
        //startPage必须紧跟查询
        List<Users> users = biz.getAll();
        //使用PageInfo包装查询后的结果,只需要将pageInfo交给页面就可以了
        //他封装了详细的分页信息,包括我们查询的信息,连续显示的页数为5
        PageInfo page = new PageInfo(users,5);
        model.addAttribute("pageInfo", page);
        return "userslist.jsp";
    }

*****************************************PageInfo********************************************************

关于PageInfo的内容

//当前页
private int pageNum;
//每页的数量
private int pageSize;
//当前页的数量
private int size;

//当前页面第一个元素在数据库中的行号
private int startRow;
//当前页面最后一个元素在数据库中的行号
private int endRow;
//总记录数
private long total;
//总页数
private int pages;
//结果集
private List<T> list;


//前一页
private int prePage;
//下一页
private int nextPage;


//是否为第一页
private boolean isFirstPage = false;
//是否为最后一页
private boolean isLastPage = false;
//是否有前一页
private boolean hasPreviousPage = false;
//是否有下一页
private boolean hasNextPage = false;
//导航页码数
private int navigatePages;
//所有导航页号
private int[] navigatepageNums;
//导航条上的第一页
private int navigateFirstPage;
 //导航条上的最后一页
private int navigateLastPage;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值