2.分页的实现?

分页的时候考虑的问题:

分页的大小,分页的索引。

比如:分页的大小为10,分页的起始索引为1(索引从1开始)

第一页:1到10.    起始行号: (页的索引-1)*分页大小+1

结束行号: 页的索引*分页大小

实现方案:

1)比如针对UserInfo的实体对象做分页处理,那么先创建一个分页的实体类,该类继承自UserInfo。

package com.gxa.bj.model;

public class UserInfoPage extends UserInfo{

// 分页的索引

private int pageIndex;

// 分页的大小

private int pageSize;

// 分页的起始行

private int startNum;

// 分页的结束行

private int endNum;

public int getPageIndex() {

return pageIndex;

}

public void setPageIndex(int pageIndex) {

this.pageIndex = pageIndex;

}

public int getPageSize() {

return pageSize;

}

public void setPageSize(int pageSize) {

this.pageSize = pageSize;

}

public int getStartNum() {

return startNum;

}

public void setStartNum(int startNum) {

this.startNum = startNum;

}

public int getEndNum() {

return endNum;

}

public void setEndNum(int endNum) {

this.endNum = endNum;

}

}

2)在接口中定义一个方法,

public List<UserInfo> getListByPage(UserInfoPage upage);

3)在Mapper文件中编写SQL语句:

<select id="getListByPage" parameterType="com.gxa.bj.model.UserInfoPage"  resultType="com.gxa.bj.model.UserInfo">

Select u.*

From (Select rownum as num, userinfo.*

from userinfo

<where>

<if test="userName!=null">

And userName like #{userName}

</if>

<if test="userId>0">

And userId =#{userId}

</if>

<if test="userPwd!=null and userPwd !='' ">

And userPwd like #{userPwd}

</if>

</where>

) u Where u.num between  #{startNum} and #{endNum}

</select>

4)编写相应的测试代码:

UserInfoPage u= new UserInfoPage();

//

u.setUserName("zhangsan");

u.setPageIndex(2);

u.setPageSize(2);

int startNum = (u.getPageIndex()-1)*u.getPageSize()+1;

int endNum = u.getPageIndex()*u.getPageSize();

u.setStartNum(startNum);

u.setEndNum(endNum);

List<UserInfo> list = userMapper.getListByPage(u);

for(UserInfo t :list){

System.out.println("id:"+t.getUserId());

}

mybatis框架中分页的实现的更多相关文章

  1. Mybatis框架中实现双向一对多关系映射

    学习过Hibernate框架的伙伴们很容易就能简单的配置各种映射关系(Hibernate框架的映射关系在我的blogs中也有详细的讲解),但是在Mybatis框架中我们又如何去实现 一对多的关系映射呢 ...

  2. 详解Java的MyBatis框架中SQL语句映射部分的编写

    这篇文章主要介绍了Java的MyBatis框架中SQL语句映射部分的编写,文中分为resultMap和增删查改实现两个部分来讲解,需要的朋友可以参考下 1.resultMap SQL 映射XML 文件 ...

  3. drf框架中分页组件

    drf框架中分页组件 普通分页(最常用) 自定制分页类 pagination.py from rest_framework.pagination import PageNumberPagination ...

  4. mybatis框架中XxxxMaper.xml的文件

    我们知道在mybatis框架中,config.xml中会关联到许多的XxxxMapper的xml文件,这些文件又对应着一个个的接口,来观察下这些xml文件 从以下这个文件为例子: <?xml v ...

  5. DRF框架中分页功能接口

    目录 DRF框架中分页功能接口 DRF框架中分页功能接口 一.在框架中提供来三个类来实现分页功能,PageNumberPagination.LimitOffsetPagination.CursorPa ...

  6. Spring+MyBatis框架中sql语句的书写,数据集的传递以及多表关联查询

    在很多Java EE项目中,Spring+MyBatis框架经常被用到,项目搭建在这里不再赘述,现在要将的是如何在项目中书写,增删改查的语句,如何操作数据库,以及后台如何获取数据,如何进行关联查询,以 ...

  7. 【mybatis】使用mybatis框架中踩过的坑

    好久没来记录一下自己的学习情况,最近都在学框架,今天来记录一下关于mybatis框架的学习过程中碰过的一些问题: 以下内容可能稍微有点凌乱,因为是把之前遇到过的错误或异常都集中一起了,不过我已经把问题 ...

  8. SSM:spring+springmvc+mybatis框架中的XML配置文件功能详细解释(转)

    原文:https://blog.csdn.net/yijiemamin/article/details/51156189# 这几天一直在整合SSM框架,虽然网上有很多已经整合好的,但是对于里面的配置文 ...

  9. 0927-转载:SSM:spring+springmvc+mybatis框架中的XML配置文件功能详细解释

    这篇文章暂时只对框架中所要用到的配置文件进行解释说明,而且是针对注解形式的,框架运转的具体流程过两天再进行总结. spring+springmvc+mybatis框架中用到了三个XML配置文件:web ...

随机推荐

  1. AIX 环境下遇到Device Busy问题

    IBM AIX v5.3操作系统环境下在对网络或网卡进行操作过程中经常遇到"Device Busy"而终止操作例如:#rmdev -l ent1遇到如下返回信息Method err ...

  2. ASP.NET Misconfiguration: Request Validation Disabled

    Abstract: Use the ASP.NET validation framework to prevent vulnerabilities that result from unchecked ...

  3. Socket为什么要翻译成套接字

    作者:陈振玥链接:https://www.zhihu.com/question/21383903/answer/64103663来源:知乎著作权归作者所有,转载请联系作者获得授权. 作为一条刻(wu) ...

  4. TFS Build Definition And Auto Deploy

    一台build machine上一般只有一个build service[对应一个build controller]来serve一个team project collection,但又workaroun ...

  5. javascript冒泡算法

    var arr = [10, 10, 3, 2, 5 , 4, 8, 3]; function reSort(arr) { var temp = 0; var len = arr.length; fo ...

  6. WinForm添加快捷键

    1.    WinForm下给窗体和按钮添加快捷键 设置Enter键要执行的动作:设置FORM的 AcceptButton属性为指定的button按钮. 设置ESC键要执行的动作:设置FORM的Cac ...

  7. 设置mysql utf8

    1.修改mysql 配置文件my.cnf 标签[mysqld]下添加即可 character-set-server = utf8

  8. X-Frame-Options 响应头

    [X-Frame-Options 响应头] 参考:https://developer.mozilla.org/zh-CN/docs/Web/HTTP/X-Frame-Options

  9. Linux(Centos) 安装windows字体

    有时候在Linux中需要用到windows字体,比如微软雅黑字体,这个时候,可能就需要我们手动去安装字体了(当然,如果服务器上没装过),简单几步如下: 1.在$WINDOWS/Fonts目录中找到对应 ...

  10. NPOI操作excel

    1.基本导出方法 private void ExportToExcel() { SaveFileDialog sdfExport = new SaveFileDialog(); sdfExport.F ...