mybatis分页拦截器(自动封装版)讲解

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

近期由于工作需要,想要开发一版能够满足多数人员使用的mybatis分页拦截器,在网上查找了很多资料并结合自己的一些理解,开发出了以下一版简单的代码。

起初想要遵循江湖惯例,通过各个层级间传递分页参数来实现目标,但开发过程中发现这样针对已开发好的代码影响较大(需要修改前端到后端的所有代码),成本较高。然后在此基础上提升了目标

1、降低业务代码侵入性。

2、减少原有代码的修改。

3、减少调用人员开发量。

虽然最终版本在初次配置使用时会有一些繁琐,但后续扩展非常有优势。废话少说,上配置过程和代码。使用方法

1、将java文件放置到某个文件夹下

2、添加maven依赖 mybatis 主要是拦截器部分,可自行在内部资源库中搜索或在网上搜索

3、配置spring mybatis部分。

4、根据需要修改spring-mybatis文件。

5、Mapper文件中配置以”ForPage”结尾的查询,如

5、jsp页面引入

java代码

分页信息实体

/**

* 分页信息

*/

public class PageBean {

private int DEF_PAGE_VIEW_SIZE = 15;

/** 当前页*/

private int pageNo = 1;

/** 当前页显示记录条数*/

private int pageSize;

/** 取得查询总记录数*/

private int totalRecord;

private String actionUrl;

private Map params;

public String getActionUrl() {

return actionUrl;

}

public void setActionUrl(String actionUrl) {

this.actionUrl = actionUrl;

}

public Map getParams() {

return params;

}

public void setParams(Map params) {

this.params = params;

}

/**

* (空)

*/

public PageBean() {

this.pageNo = 1;

this.pageSize = DEF_PAGE_VIEW_SIZE;

}

/**

* 根据当前显示页与每页显示记录数设置查询信息初始对象

*

* @param pageNo 当前显示页号

* @param pageSize 当前页显示记录条数

*/

public PageBean(int pageNo, int pageSize) {

this.pageNo = (pageNo <= 0) ? 1 : pageNo;

this.pageSize = (pageSize <= 0) ? DEF_PAGE_VIEW_SIZE : pageSize; }

/**

* 取得当前显示页号

*

* @return 当前显示页号

*/

public int getPageNo() {

return (pageNo <= 0) ? 1 : pageNo;

/**

* 设置当前页

*

* @param pageNo 当前页

*/

public void setPageNo(int pageNo) {

this.pageNo = pageNo;

}

/**

* 取得当前显示页号最多显示条数

*

* @return 当前显示页号最多显示条数

*/

public int getPageSize() {

return (pageSize <= 0) ? DEF_PAGE_VIEW_SIZE : pageSize;

}

/**

* 设置当前页显示记录条数

*

* @param pageSize 当前页显示记录条数

*/

public void setPageSize(int pageSize) {

this.pageSize = pageSize;

}

public int getTotalRecord() {

return totalRecord;

}

public void setTotalRecord(int totalRecord) {

this.totalRecord = totalRecord;

// 在设置总页数的时候计算出对应的总页数,在下面的三目运算中加法拥有更高的优先级,所以最后可以不加括号。

int totalPage = totalRecord % pageSize == 0 ? totalRecord / pageSize

: totalRecord / pageSize + 1;

this.setTotalPage(totalPage);

}

public int getTotalPage() {

return this.totalPage;

}

public void setTotalPage(int totalPage) {

this.totalPage = totalPage;

}

相关文档
最新文档