oracle标准的分页查询的service接口

3 篇文章 0 订阅
3 篇文章 0 订阅
public JsonData selectFileList(Integer page, Integer rows, String [] bizTypes) {
    page = (page == null || page <= 0) ? 1 : page;
    rows = (rows == null || rows <= 0) ? 1 : rows;
    Integer rowNumFrom= (page - 1) * rows + 1;
    Integer rowNumTo= page * rows;

    //查询文件总数
    Map<String,Object> paramMap= new HashMap<String,Object>();
    paramMap.put("bizTypes",bizTypes);
    Integer total = this.selectUploadFileCount(paramMap);
    Integer maxPage = (total + rows - 1) / rows;

    //查询文件列表
    paramMap.put("rowNumFrom", rowNumFrom);
    paramMap.put("rowNumTo", rowNumTo);
    List<Uploads> list = this.selectUploadFileList(paramMap);
    Map<String,Object> data= new HashMap<String,Object>();
    data.put("page",page);
    data.put("total",total);
    data.put("maxPage",maxPage);
    data.put("list",list);
    return JsonData.success(null,data);
}

private Integer selectUploadFileCount(Map<String,Object> paramMap){
    return uploadsMapper.selectUploadFileCount(paramMap);
}

private List<Uploads> selectUploadFileList(Map<String,Object> paramMap){
    return uploadsMapper.selectUploadFileList(paramMap);
}
    select
            row_num,<include refid="Base_Column_List" />
        from
            (select rownum as row_num, t.*
              from  t_uploads t
              where 1 = 1
                    and t.state = '1'
                    <if test=" bizTypes != null and bizTypes.length > 0 ">
                        <foreach item="item"  collection="bizTypes" open=" and (" separator="or" close=")">
                            <if test=" item!=null and item !='' ">
                                t.biz_type  = #{item}
                            </if>
                        </foreach>
                    </if>
                    and rownum &lt;= #{rowNumTo, jdbcType = INTEGER})
        where row_num >= #{rowNumFrom, jdbcType = INTEGER}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值