zoukankan      html  css  js  c++  java
  • mybatis的分页查询

    直接来上一段代码:

    接口

    public <E> List<E> queryList(String sqlId, int offset, int number) throws DaoException;

    实现类:

    @Override
        public <E> List<E> queryList(String sqlId, int offset, int limit) throws DaoException {
            try {
                return sqlSessionTemplate.selectList(sqlId, new RowBounds(offset, limit));
            } catch (Throwable e) {
                throw new DaoException(e.getMessage(), e);
            }
        }

    映射文件这样写

    <select id="queryList" parameterType=""
                resultMap="">
            select
            <include refid="Base_Column_List"/>
            from
            tabkename a
            WHERE 1 = 1
            limit #{offset}, #{limit}
        </select>

    再来个分页的工具参数类

    public class PageBean<T> implements Serializable {
        private Integer pageNum ;
        private Integer pageSize = 10;
        private Integer totalNum;
        private Integer totalPage;
        private Integer lastPage;
        private Integer startIndex = 1;
        private Integer endIndex;
        private Integer nextPage;
        private List<T> list;
    get() set()方法...
    }
     pageBean = new PageBean<>();
     pageBean.setPageNum(pageNum);
     pageBean.setPageSize(pageSize);

    /*总页数计算*/
    double totalPage = Math.ceil((int)totalCount / pageSize);
    pageBean.setTotalPage((int) totalPage);

    /*起始索引计算*/
    pageBean.setStartIndex((pageNum - 1) * pageSize);

    /*上一页下一页计算*/
    pageBean.setNextPage(pageNum+1);
    pageBean.setLastPage(pageNum-1);

    ok,基本完成,核心的是RowBounts的offset和limit的两个参数

  • 相关阅读:
    python文件句柄只能用一次的误解
    字符编码后续...记事本"联通"小插曲
    字符编码
    python problem
    vue-cli3 vue-config.js配置 概况
    ssh-keygen 不是内部或外部命令
    好的文章的链接收藏
    urlArgs 请require 缓存
    js 类型判断
    阻止冒泡和取消默认事件(默认行为)
  • 原文地址:https://www.cnblogs.com/otways/p/11550378.html
Copyright © 2011-2022 走看看