没有合适的资源?快使用搜索试试~ 我知道了~
MyBatis拦截器实现分页功能的实现方法 前言: 首先说下实现原理。使用拦截器拦截原始的sql,然后加上分页查询的关键字和属性,拼装成新的sql语句再交给mybatis去执行。 除了业务代码之外,需要写的东西不多,提几个关键的: 1、分页对象Page类。给该对象设置一个当前页数(前端给)、总记录数(拦截器内赋值)2个参数,他就能帮你计算出分页sql语句用的2个参数。 /** * 分页对应的实体类 */ public class Page { /** * 总条数 */ private int totalNumber; /** * 当前第几页 */
资源推荐
资源详情
资源评论
MyBatis拦截器实现分页功能的实现方法拦截器实现分页功能的实现方法
MyBatis拦截器实现分页功能的实现方法拦截器实现分页功能的实现方法
前言:前言:
首先说下实现原理。使用拦截器拦截原始的sql,然后加上分页查询的关键字和属性,拼装成新的sql语句再交给mybatis去执
行。
除了业务代码之外,需要写的东西不多,提几个关键的:
1、分页对象Page类。给该对象设置一个当前页数(前端给)、总记录数(拦截器内赋值)2个参数,他就能帮你计算出分页
sql语句用的2个参数。
/**
* 分页对应的实体类
*/
public class Page {
/**
* 总条数
*/
private int totalNumber;
/**
* 当前第几页
*/
private int currentPage;
/**
* 总页数
*/
private int totalPage;
/**
* 每页显示条数
*/
private int pageNumber = 5;
/**
* 数据库中limit的参数,从第几条开始取
*/
private int dbIndex;
/**
* 数据库中limit的参数,一共取多少条
*/
private int dbNumber;
/**
* 根据当前对象中属性值计算并设置相关属性值
*/
public void count() {
// 计算总页数
int totalPageTemp = this.totalNumber / this.pageNumber;
int plus = (this.totalNumber % this.pageNumber) == 0 ? 0 : 1;
totalPageTemp = totalPageTemp + plus;
if(totalPageTemp <= 0) {
totalPageTemp = 1;
}
this.totalPage = totalPageTemp;
// 设置当前页数
// 总页数小于当前页数,应将当前页数设置为总页数
if(this.totalPage < this.currentPage) {
this.currentPage = this.totalPage;
}
// 当前页数小于1设置为1
if(this.currentPage < 1) {
this.currentPage = 1;
}
// 设置limit的参数
this.dbIndex = (this.currentPage - 1) * this.pageNumber;
this.dbNumber = this.pageNumber;
}
public int getTotalNumber() {
资源评论
weixin_38549520
- 粉丝: 4
- 资源: 914
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功