Java神鬼莫测之MyBatis实现分页全过程(三)

and phone_num = #{user.phoneNum}

and e_mail = #{user.eMail}

and role_id = #{user.roleId}

and user_lock = #{user.userLock}

and is_del != 2

分页使用到工具类


1.Pager

public class Pager {

/**

  • 升序

*/

public static final String SORT_ASC = “asc”;

/**

  • 降序

*/

public static final String SORT_DESC = “desc”;

/**

  • 存储排序的集合

*/

private List sortInfo = new ArrayList<>();

/**

  • url地址

*/

private String pageUrl;

/**

  • 当前页

*/

private Integer pageNum = 1;

/**

  • 每页分页数

*/

private Integer pageSize = 20;

/**

  • 添加排序信息

  • @author fengzx

  • @date 2020/3/26 19:55

*/

public Pager add(IGetter fn, String sort) {

//属性名

String propertyName = BeanUtils.convertToFieldName(fn);

String columnName = BeanUtils.HumpToUnderline(propertyName);

sortInfo.add(columnName + " " + sort);

return this;

}

/**

  • 获取排序信息

  • @author fengzx

  • @date 2020/3/26 19:54

*/

public String get() {

return StringUtils.join(sortInfo.toArray(), “,”);

}

public String getPageUrl() {

return pageUrl;

}

public void setPageUrl(String pageUrl) {

this.pageUrl = pageUrl;

}

public Integer getPageNum() {

return pageNum;

}

public void setPageNum(Integer pageNum) {

this.pageNum = pageNum;

}

public Integer getPageSize() {

return pageSize;

}

public void setPageSize(Integer pageSize) {

this.pageSize = pageSize;

}

}

2.来自com.github.pagehelper.PageHelper的PageHelper类

3.返回结果类

public class PageResponse extends PageInfo {

/**

  • ajax请求地址

*/

private String pageUrl;

public PageResponse(List list, Pager pager) {

super(list);

this.pageUrl = pager.getPageUrl();

}

public String getPageUrl() {

return pageUrl;

}

public void setPageUrl(String pageUrl) {

this.pageUrl = pageUrl;

}

}

返回结果


{

“type”: “success”,

“data”: {

“navigatepageNums”: [

1

],

“startRow”: 1,

“hasNextPage”: false,

“prePage”: 0,

“nextPage”: 0,

“endRow”: 3,

“pageSize”: 20,

“list”: [

{

“gmtModified”: 1624949479000,

“address”: “www”,

“gmtUserLock”: 1614046814000,

“gmtCreated”: 1614046814000,

“roleId”: 100,

“mobile”: “13958352935”,

“phoneNum”: “13958352935”,

“userLock”: 1,

“userName”: “管理员”,

“userCode”: “admin”,

“eMail”: “2222”,

“typeCode”: “100-100100”,

“password”: “e10adc3949ba59abbe56e057f20f883e”,

“id”: 1,

“isDel”: 1,

“groupCode”: “100-100100”,

“hospitalDeptName”: “西京医院-眼科”

},

{

“gmtModified”: 1625120041000,

“address”: “123123”,

“gmtCreated”: 1625120041000,

“roleId”: 100,

“mobile”: “213123”,

“phoneNum”: “123123”,

“userLock”: 1,

“userName”: “312”,

“userCode”: “123123”,

“eMail”: “123123”,

“typeCode”: “100-100100”,

“password”: “e10adc3949ba59abbe56e057f20f883e”,

“id”: 13,

“isDel”: 1,

“groupCode”: “100-100100”,

“hospitalDeptName”: “西京医院-眼科”

},

{

“gmtModified”: 1625191309000,

“address”: “杭州市滨江区”,

“gmtCreated”: 1625191218000,

“roleId”: 100,

“mobile”: “13839448710”,

“phoneNum”: “13839448710”,

“userLock”: 1,

“userName”: “test1”,

“userCode”: “test”,

“eMail”: “13839448710@163.com”,

“typeCode”: “100-100100”,

“password”: “e10adc3949ba59abbe56e057f20f883e”,

“id”: 14,

“isDel”: 1,

“groupCode”: “100-100100”,

“hospitalDeptName”: “西京医院-眼科”

}

],

“pageNum”: 1,

“navigatePages”: 8,

“navigateFirstPage”: 1,

最后

作为过来人,小编是整理了很多进阶架构视频资料、面试文档以及PDF的学习资料,针对上面一套系统大纲小编也有对应的相关进阶架构视频资料


“typeCode”: “100-100100”,

“password”: “e10adc3949ba59abbe56e057f20f883e”,

“id”: 14,

“isDel”: 1,

“groupCode”: “100-100100”,

“hospitalDeptName”: “西京医院-眼科”

}

],

“pageNum”: 1,

“navigatePages”: 8,

“navigateFirstPage”: 1,

最后

作为过来人,小编是整理了很多进阶架构视频资料、面试文档以及PDF的学习资料,针对上面一套系统大纲小编也有对应的相关进阶架构视频资料

[外链图片转存中…(img-hT0Pcmjl-1718542741056)]
[外链图片转存中…(img-kdaux4OG-1718542741056)]

  • 22
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值