
com.gitee.qdbp.jdbc.stream.CrudOnSelectOrderByStream Maven / Gradle / Ivy
package com.gitee.qdbp.jdbc.stream;
import java.util.List;
import com.gitee.qdbp.able.jdbc.condition.DbWhere;
import com.gitee.qdbp.able.jdbc.fields.Fields;
import com.gitee.qdbp.able.jdbc.ordering.Orderings;
import com.gitee.qdbp.able.jdbc.paging.Paging;
import com.gitee.qdbp.jdbc.api.CrudDao;
/**
* Select排序后续操作
* orderBy后续操作有 paging / list
*
* @author zhaohuihua
* @version 20210529
*/
public class CrudOnSelectOrderByStream {
protected final CrudDao dao;
protected final Fields fields;
protected final DbWhere where;
protected final Orderings orderings;
CrudOnSelectOrderByStream(CrudDao dao, Fields fields, DbWhere where, Orderings orderings) {
this.dao = dao;
this.fields = fields;
this.where = where;
this.orderings = orderings;
}
/**
* 根据条件分页查询实体列表
*
List<SysUser> users = qdbcBoot.crudStream(SysUser.class)
.select("id,userCode,realName") // 只查某些字段
// .selectExclude("password") // 排除掉密码字段
.where("userType").equals(1)
.and ...
.end()
.orderBy("createTime desc")
.pageBy(1, 10) // 查第1页,每页10行
.list().asPartList(); // 分页后返回的是PageList, 需要转换为普通List
*
*
* @param pageIndex 第几页
* @param pageSize 每页行数
* @return 列表数据
*/
public CrudOnSelectPagingStream pageBy(int pageIndex, int pageSize) {
return pageBy(new Paging(pageIndex, pageSize));
}
/**
* 根据条件分页查询实体列表
*
List<SysUser> users = qdbcBoot.crudStream(SysUser.class)
.select("id,userCode,realName") // 只查某些字段
// .selectExclude("password") // 排除掉密码字段
.where("userType").equals(1)
.and ...
.end()
.orderBy("createTime desc")
.pageBy(1, 10, 88) // 查第1页,每页10行, 88=提前查询的总行数
.list().asPartList(); // 分页后返回的是PageList, 需要转换为普通List
*
*
* @param pageIndex 第几页
* @param pageSize 每页行数
* @param total 总行数(用于提前查询总行数的情况)
* @return 列表数据
*/
public CrudOnSelectPagingStream pageBy(int pageIndex, int pageSize, int total) {
return pageBy(new Paging(pageIndex, pageSize, total));
}
/**
* 根据条件分页查询实体列表
*
List<SysUser> users = qdbcBoot.crudStream(SysUser.class)
.select("id,userCode,realName") // 只查某些字段
// .selectExclude("password") // 排除掉密码字段
.where("userType").equals(1)
.and ...
.end()
.orderBy("createTime desc")
.pageBy(1, 10, false) // 查第1页,每页10行, false=无需统计总数
.list().asPartList(); // 分页后返回的是PageList, 需要转换为普通List
*
*
* @param pageIndex 第几页
* @param pageSize 每页行数
* @param needCount 是否统计总数
* @return 列表数据
*/
public CrudOnSelectPagingStream pageBy(int pageIndex, int pageSize, boolean needCount) {
return pageBy(new Paging(pageIndex, pageSize, needCount));
}
/**
* 根据条件分页查询实体列表
*
List<SysUser> users = qdbcBoot.crudStream(SysUser.class)
.select("id,userCode,realName") // 只查某些字段
// .selectExclude("password") // 排除掉密码字段
.where("userType").equals(1)
.and ...
.end()
.orderBy("createTime desc")
.pageBy(new Paging(1,10,false)) // 查第1页,每页10行, false=无需统计总数
.list().asPartList(); // 分页后返回的是PageList, 需要转换为普通List
*
*
* @param paging 分页参数
* @return 列表数据
*/
public CrudOnSelectPagingStream pageBy(Paging paging) {
return new CrudOnSelectPagingStream<>(dao, fields, where, orderings, paging);
}
/**
* 根据条件查询实体列表
*
List<SysUser> users = qdbcBoot.crudStream(SysUser.class)
.select("id,userCode,realName") // 只查某些字段
// .selectExclude("password") // 排除掉密码字段
.where("userType").equals(1)
.and ...
.end()
.orderBy("createTime desc")
.list();
*
*
* @return 列表数据
*/
public List list() {
return dao.list(fields, where, orderings);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy