
com.gitee.qdbp.jdbc.stream.SqlOnIdPairParamsStream Maven / Gradle / Ivy
package com.gitee.qdbp.jdbc.stream;
import com.gitee.qdbp.able.jdbc.paging.Paging;
import com.gitee.qdbp.jdbc.api.SqlDao;
/**
* 同时设置queryId/countId, 设置参数后续操作: pageBy
*
* @author zhaohuihua
* @version 20210530
*/
public class SqlOnIdPairParamsStream {
protected final SqlDao dao;
protected final String queryId;
protected final String countId;
protected final Object params;
SqlOnIdPairParamsStream(SqlDao dao, String queryId, String countId, Object params) {
this.dao = dao;
this.queryId = queryId;
this.countId = countId;
this.params = params;
}
/**
* 根据条件分页查询实体列表
*
List<Map<String, Object>> users = qdbcBoot.sqlStream()
.sqlId("SysUserMapper:queryRoleUsers", "SysUserMapper:countRoleUsers")
.params(map)
.pageBy(1, 10) // 查第1页,每页10行
.list().asPartList(); // 分页后返回的是PageList, 需要转换为普通List
*
*
* @param pageIndex 第几页
* @param pageSize 每页行数
* @return 返回后续流式操作对象
*/
public SqlOnIdPairPagingStream pageBy(int pageIndex, int pageSize) {
return pageBy(new Paging(pageIndex, pageSize));
}
/**
* 根据条件分页查询实体列表
*
List<Map<String, Object>> users = qdbcBoot.sqlStream()
.sqlId("SysUserMapper:queryRoleUsers", "SysUserMapper:countRoleUsers")
.params(map)
.pageBy(1, 10, 88) // 查第1页,每页10行, 88=提前查询的总行数
.list().asPartList(); // 分页后返回的是PageList, 需要转换为普通List
*
*
* @param pageIndex 第几页
* @param pageSize 每页行数
* @param total 总行数(用于提前查询总行数的情况)
* @return 返回后续流式操作对象
*/
public SqlOnIdPairPagingStream pageBy(int pageIndex, int pageSize, int total) {
return pageBy(new Paging(pageIndex, pageSize, total));
}
/**
* 根据条件分页查询实体列表
*
List<Map<String, Object>> users = qdbcBoot.sqlStream()
.sqlId("SysUserMapper:queryRoleUsers", "SysUserMapper:countRoleUsers")
.params(map)
.pageBy(1, 10, false) // 查第1页,每页10行, false=无需统计总数
.list().asPartList(); // 分页后返回的是PageList, 需要转换为普通List
*
*
* @param pageIndex 第几页
* @param pageSize 每页行数
* @param needCount 是否统计总数
* @return 返回后续流式操作对象
*/
public SqlOnIdPairPagingStream pageBy(int pageIndex, int pageSize, boolean needCount) {
return pageBy(new Paging(pageIndex, pageSize, needCount));
}
/**
* 根据条件分页查询实体列表
*
List<Map<String, Object>> users = qdbcBoot.sqlStream()
.sqlId("SysUserMapper:queryRoleUsers", "SysUserMapper:countRoleUsers")
.params(map)
.pageBy(new Paging(1,10,false)) // 查第1页,每页10行, false=无需统计总数
.list().asPartList(); // 分页后返回的是PageList, 需要转换为普通List
*
*
* @param paging 分页参数
* @return 返回后续流式操作对象
*/
public SqlOnIdPairPagingStream pageBy(Paging paging) {
return new SqlOnIdPairPagingStream(dao, queryId, countId, params, paging);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy