外观
分页查询
技术交流QQ群:3549030
分页查询接口
接口地址:xxx/yyy/zzz/queryPage
请求方式:POST
Body入参结构
json
// QueryCondition 查询条件对象
{
"pageNumber": 1,
"pageSize": 20,
"orderColumnName": "createTime", //排序字段
"orderBy": "desc",// 排序方式 asc 升序 desc降序;如果单独不写(排序字段有写)默认升序asc
"modelMap": //查询字段及字段值。可不传,表示不带条件的分页
{
"menuCode": "sys",
"displayNo": 3,
"remark": "小虎"
},
"queryTypeMap": //查询字段及查询条件。可不传,表示不带条件的分页
{
"menuCode": "eq", // 是等号的情况可以不用传
"displayNo": "ge",
"remark": "like"
} // 如果所有字段的条件都是等于,queryTypeMap整体不用传
}
- 查询条件说明
java
EQUAL("eq"), // 相等 经常使用
NOT_EQUAL("neq"), // 不相等
LESS_THAN("lt"), // 小于
LESS_EQUAL("le"), // 小于等于
GREATER_EQUAL("ge"), // 大于等于
GREATER_THAN("gt"), // 大于
LIKE("like"), // 模糊匹配 %xxx% 经常使用
LIKE_LEFT("like_left"), // 左模糊 %xxx
LIKE_RIGHT("like_right"), // 右模糊 xxx%
NOT_EMPTY("not_empty"), // 不为空值的情况
EMPTY("empty"), // 空值的情况
BETWEEN_AND("between_and"), // 区间
IN("in"), // 在范围内
NOT_IN("not_in"); // 不在范围内
- 树表分页查询条件约定情况
树表结构的功能页面查询时传xxxCode服务端会做为parentCode的查询条件,查询其子集记录。
例如:
json
{
"pageNumber": 1,
"pageSize": 20,
"orderColumnName": "updateTime",
"orderBy": "desc",
"modelMap": {
"menuCode": "sys"
}
}
后端会解析出查询语句:
sql
select *
from sys_menu
where 1=1
and parent_code = 'sys'
order by update_time desc
limit 0,20;
--limit pageNumber*(pageSize-1),pageSize
Controller层分页查询写法
java
public class TableController extends KungfuController {
// 要相信自己的眼睛,就这么简单
public void queryPage() {
// Model 替换成具有的Model类
renderJson(R.ok("data", queryPage(Model.class)));
}
}