用户登录
用户注册

分享至

mybatis分页查询

  • 作者: 春天里17670653
  • 来源: 51数据库
  • 2020-09-22
package cn.tsjinrong.fastfile.util;

/**
* @ClassName: Page
* @Description: TODO(分页组件的父类,用来封装分页的 通用内容和逻辑)
* @author zhanghaiyang
* @date 2016年1月14日 下午12:37:55
* @Copyright ? 2016上海通善互联网金融信息服务有限公司
*/
public class Page {

// 用户输入的分页条件
private int currentPage = 1; // 当前页
private int pageSize = 15; // 每页最大行数

// 用于实现分页SQL的条件,是根据用户输入条件计算而来的
private int begin;
private int end;

// 自动计算出的总行数
private int rows;
// 根据总行数计算总页数,然后将总页数输出给页面
private int totalPage;

public int getRows() {
return rows;
}

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

public int getTotalPage() {
// 根据总行数,计算总页数
if (rows % pageSize == 0) {
totalPage = rows / pageSize;
} else {
totalPage = rows / pageSize + 1;
}
return totalPage;
}

public void setTotalPage(int totalPage) {
this.totalPage = totalPage;
}

public int getBegin() {
// 在mapper.xml使用begin属性时,对其进行计算
begin = (currentPage - 1) * pageSize;
return begin;
}

public void setBegin(int begin) {
this.begin = begin;
}



  分页整体解决思路分3种,分别从数据库,业务逻辑,前端3层入手 第一是数据库,通过sql语句关键字分页,比如sql server的top ,mysql的limit 第二是通过代码实现,对查询出来的结果进行截取处理。再比如hibernae就有分页的方法,mybatis好像是没...



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

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

1、在User.xml中加入select节点,并组装分页SQ
软件
前端设计
程序设计
Java相关