一. Mybatis分页插件PageHelper使用

 1、不使用插件如何分页:

使用mybatis实现:

1)接口:

List<Student> selectStudent(Map<String, Object> map);

2)mapper.xml:

<select id="selectStudent" resultMap="BaseResultMap" parameterType="java.util.Map" >
select
<include refid="Base_Column_List" />
from student limit #{pageNum},#{pageSize}
</select>

3)测试:

@Test
public void TestGetStudent() throws IOException {
try {
StudentMapper mapper=session.getMapper(StudentMapper.class);
Map<String,Object> map=new HashMap<String,Object>();
map.put("pageNum", 0);
map.put("pageSize", 3);
List<Student> students=mapper.selectStudent(map); for(Student student :students)
System.out.println(student.gettId() + " " + student.gettName() + " "+student.gettAge()+" "+student.gettEnterdate()+" "+student.gettSid()); }finally {
session.close();
} }

2 使用PageHelper插件如何分页:

下载地址:

https://github.com/pagehelper/Mybatis-PageHelper

https://github.com/JSQLParser/JSqlParser

另外一个地址:

Pagehelper下载地址:

http://repo1.maven.org/maven2/com/github/pagehelper/pagehelper/

jsqlparser 下载地址:

http://repo1.maven.org/maven2/com/github/jsqlparser/jsqlparser/

使用步骤:

1、导入相关包pagehelper-x.x.x.jar 和  jsqlparser-x.x.x.jar。

2、在MyBatis全局配置文件中配置分页插件。

   <plugins>

<plugin interceptor="com.github.pagehelper.PageInterceptor"></plugin>

</plugins>

3、使用PageHelper提供的方法进行分页

  StudentMapper mapper = session.getMapper(StudentMapper.class);
//放在查询之前
Page<Object> page = PageHelper.startPage(1, 3); StudentExample example=null;
List<Student> students=mapper.selectByExample(example); for(Student student :students)
System.out.println(student.gettId() + " " + student.gettName() + " "+student.gettAge()+" "+student.gettEnterdate()+" "+student.gettSid());
System.out.println("当前页码:"+page.getPageNum());
System.out.println("总记录数:"+page.getTotal());
System.out.println("每页的记录数:"+page.getPageSize());
System.out.println("总页码:"+page.getPages());

4、可以使用更强大的PageInfo封装返回结果

           StudentMapper mapper = session.getMapper(StudentMapper.class);
Page<Object> page = PageHelper.startPage(1, 3); StudentExample example=null;
List<Student> students=mapper.selectByExample(example);
for(Student student :students)
System.out.println(student.gettId() + " " + student.gettName() + " "+student.gettAge()+" "+student.gettEnterdate()+" "+student.gettSid());
PageInfo<Student> info = new PageInfo<Student>(students, 3);
System.out.println("当前页码:"+info.getPageNum());
System.out.println("总记录数:"+info.getTotal());
System.out.println("每页的记录数:"+info.getPageSize());
System.out.println("总页码:"+info.getPages());
System.out.println("是否第一页:"+info.isIsFirstPage());
System.out.println("连续显示的页码:");
int[] nums = info.getNavigatepageNums();
for (int i = 0; i < nums.length; i++) {
System.out.println(nums[i]);
}

最新文章

  1. SWMM模型子汇水区划分的几种方法
  2. LintCode Palindrome Partitioning II
  3. Python应用科学计算和图表绘制
  4. 实现在ios开发中的App滑动封面 UIScrollView
  5. Eclipse搭建Python开发环境+Python中文处理
  6. opencv学习笔记(二)寻找轮廓
  7. iOS多线程之GCD小记
  8. 多线程编程(一) - 关于C#中Thread.Join()
  9. [经典] 最X(长 | 大和 | 大积)Y(子序列 | 子字符串)
  10. Web App 图片上传编辑器
  11. android 实现银联刷卡机消费后,手动签名的功能
  12. test for python urllib
  13. &lt;c:forEach&gt;循环列表,获取勾选的checkbox中某个&lt;td&gt;的值
  14. 在Laravel中使用数据库事务以及捕获事务失败后的异常
  15. Lab 1-2
  16. Android Studio生成签名安装包(Generate Signed APK)
  17. git-jenkins-k8s构建tomcat项目实践
  18. isset()、empty()、is_NULL()的区别
  19. WSO2 API Manager中host Ip 不正确的问题解决方法
  20. bug report

热门文章

  1. phalcon——访问控制列表ACL
  2. LeetCode 448. Find All Numbers Disappeared in an Array (在数组中找到没有出现的数字)
  3. win8在安装office visio2003出现“请求的操作需要提升”,解决方法
  4. Building roads
  5. linux中的权限
  6. XML之外部DTD和内部DTD
  7. VMware三种网络模式
  8. javascript 可多选的下拉框 multiselect
  9. File API简介
  10. Ubuntu 12.04嵌入式交叉编译环境arm-linux-gcc搭建过程