一篇文章讲明白IPage使用大概

简介: 一篇文章讲明白IPage使用大概

进行快速创建IPage对象 page是分页的要求,wrapper是分页的搜查要求 -- 这里的Query是一个封装

IPage[span class="cm-variable">AppPregnancyEntityAppPregnancyEntity

public class Query[span class="cm-variable">T

?

public IPage[span class="cm-variable">TString, Object

return this.getPage(params, null, false);

}//代码效果参考:http://www.ezhiqi.com/bx/art_195.html

?

public IPage[span class="cm-variable">TString, Object

//分页参数

long curPage = 1;

long limit = 10;

?

if(params.get(Constant.PAGE) != null){

curPage = Long.parseLong((String)params.get(Constant.PAGE));

}

if(params.get(Constant.LIMIT) != null){

limit = Long.parseLong((String)params.get(Constant.LIMIT));

}

?

//分页对象

Page[span class="cm-variable">T

?

//分页参数

params.put(Constant.PAGE, page);

?

//排序字段

//防止SQL注入(因为sidx、order是通过拼接SQL实现排序的,会有SQL注入风险)

String orderField = SQLFilter.sqlInject((String)params.get(Constant.ORDER_FIELD));

String order = (String)params.get(Constant.ORDER);

?

?

//前端字段排序

if(StringUtils.isNotEmpty(orderField) StringUtils.isNotEmpty(order)){

if(Constant.ASC.equalsIgnoreCase(order)) {

return page.addOrder(OrderItem.asc(orderField));

}else {

return page.addOrder(OrderItem.desc(orderField));

}

}

?

//没有排序字段,则不排序

if(StringUtils.isBlank(defaultOrderField)){

return page;

}

?

//默认排序

if(isAsc) {

page.addOrder(OrderItem.asc(defaultOrderField));

}else {

page.addOrder(OrderItem.desc(defaultOrderField));

}

?

return page;

}

}

?

如何跑起来? -- 以AppTrouble为例子 QueryWrapper具体看Mybatis-plus

1.serviceImpl

// 进行分页查询

Page[span class="cm-variable">AppTroubleEntity

?

IPage[span class="cm-variable">AppTroubleEntity

2.appTroubleDao

@Mapper

@Repository

public interface AppTroubleDao extends BaseMapper[span class="cm-variable">AppTroubleEntity

?

/*

肇事记录页面查询

@param page

@param queryWrapper

@return

/

IPage[span class="cm-variable">AppTroubleEntityAppTroubleEntity

}//代码效果参考:http://www.ezhiqi.com/bx/art_769.html

3.appTroubleDao.xml

[span class="cm-tag">select id="selectAppTroubleMy" resultType="com.uht.modules.app.entity.AppTroubleEntity"

SELECT app_trouble.*,user_info.name as userName,sys_org.name AS communityStr

FROM app_trouble

INNER JOIN user_info ON app_trouble.user_id = user_info.id

INNER JOIN sys_org ON app_trouble.community = sys_org.id

${ew.customSqlSegment}

热水有益于身体健康

相关文章
|
5月前
|
数据可视化
一篇文章讲明白Euclideanspace
一篇文章讲明白Euclideanspace
21 0
|
12月前
|
小程序
小程序踩坑-appJSON["tabBar"][2]["pagePath"] "pages/test/test" 需在 pages 数组中
小程序踩坑-appJSON["tabBar"][2]["pagePath"] "pages/test/test" 需在 pages 数组中
103 0
|
前端开发
前端工作总结208-page值不能修改
前端工作总结208-page值不能修改
69 0
前端工作总结208-page值不能修改
|
测试技术
软件测试面试题:page object设置模式中,是否需要在page里定位的方法中加上断言?
软件测试面试题:page object设置模式中,是否需要在page里定位的方法中加上断言?
118 0
|
设计模式 测试技术
软件测试面试题:page object设计模式中,如何实现页面的跳转?
软件测试面试题:page object设计模式中,如何实现页面的跳转?
122 0
|
安全 fastjson Android开发
XPage系列|是时候抛弃ButterKnife了
XPage系列|是时候抛弃ButterKnife了
207 0
XPage系列|是时候抛弃ButterKnife了
|
编译器 C语言 C++
爆肝IT小白的函数狂想曲(part 2)
函数声明👏 什么是声明,你告诉你的编译器,函数叫什么,参数是什么,返回类型是什么;但到底存不存在,我们不关心。声明一般在函数使用之前,要满足先声明后使用;且声明一般出现在头文件中。函数的定义是指函数的具体实现,交代函数的功能实现。C语言代码由上到下依次执行,原则上函数定义要出现在函数调用之前,否则就会报错。但在实际开发中,经常会在函数定义之前使用它们,这个时候就需要提前声明,语法如 :type function_name(type var);
爆肝IT小白的函数狂想曲(part 2)
|
Java 应用服务中间件 开发者
page 指令|学习笔记
快速学习 page 指令
167 0