MyBatis 分页查询

实现步骤

  1. 通过扩展Mapper实现分页查询:
  2. 为Mapper.xml搜索节点
  3. 为Mapper.class 添加对应的搜索方法

1 BasePage分类



/**
 * 分页工具类
 */
public class BasePage {
    protected Integer page;
    protected Integer pageSize;
    protected Integer skip;
    protected Integer totalPage;
    protected Integer totalSize;
    
    public Integer getPage() {
        return page;
    }
    public void setPage(Integer page) {
        this.page = page;
    }
    public Integer getPageSize() {
        return pageSize;
    }
    public void setPageSize(Integer pageSize) {
        this.pageSize = pageSize;
    }
    public Integer getSkip() {
        return (page-1)*pageSize;
    }
    public void setSkip(Integer skip) {
        this.skip = skip;
    }
    public Integer getTotalPage() {
        return (this.totalSize - 1) / this.pageSize + 1;
    }
    public Integer getTotalSize() {
        return totalSize;
    }
    public void setTotalPage(Integer totalPage) {
        this.totalPage = totalPage;
    }
    public void setTotalSize(Integer totalSize) {
        this.totalSize = totalSize;
    }
    
}


2 搜索节点示例


 <select id="selectPageByExample" resultMap="BaseResultMap" parameterType="com.wanliyun.ss.entity.OrderExample" >
    <!--
      WARNING - @mbggenerated
      This element is automatically generated by MyBatis Generator, do not modify.
      This element was generated on Wed Nov 16 11:34:18 CST 2016.
    -->
    select
    <if test="distinct" >
      distinct
    </if>
    <include refid="Base_Column_List" />
    from order
    <if test="_parameter != null" >
      <include refid="Example_Where_Clause" />
    </if>
    <if test="orderByClause != null" >
      order by ${orderByClause}
    </if>
    limit ${skip},${pageSize}
  </select>


3 Mapper 方法名


 List<Order> selectPageByExample(OrderExample example);

4 使用案例片段


                        example.setPage(basePage.getPage());
            example.setPageSize(basePage.getPageSize());
            example.setOrderByClause("exam_number asc");

            list = this.mapper.selectPageByExample(example);

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,293评论 19 139
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 14,191评论 4 61
  • 1. 简介 1.1 什么是 MyBatis ? MyBatis 是支持定制化 SQL、存储过程以及高级映射的优秀的...
    笨鸟慢飞阅读 11,079评论 0 4
  • 1 昨天和新婚不久的雅雯两口子约了顿饭。 几个月没见,两个人脸上好像发生了一些神奇的变化:他们长得越来越像对方了。...
    冯尘阅读 2,463评论 1 3
  • 我们都会做梦,要么光怪陆离,要么现实逼真,有的人因此而欣喜,有的人反而困惑恐惧,但不管怎样,它都是人在深度睡眠之后...
    一直丢数据阅读 2,361评论 0 0