All Downloads are FREE. Search and download functionalities are using the official Maven repository.

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