分页插件和pojo的插件
PageHelper分页插件
PageHelper是适用于MyBatis框架的一个分页插件,使用方式极为便捷,支持任何复杂的单表、多表分页查询操作。
开发步骤:
1,导入依赖
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper</artifactId>
<version>5.1.10</version>
</dependency>
2,配置MyBatis.config.xml文件
<configuration>
<typeAliases></typeAliases>
<plugins>
<!-- com.github.pagehelper为PageHelper类所在包名 -->
<plugin interceptor="com.github.pagehelper.PageInterceptor"></plugin>
</plugins>
<environments>...</environments>
</configuration>
3,写sql语句
<select id="selectUsers" resultType="user">
select * from t_users
</select>
4,写测试类
@Test
public void test2() {
SqlSession sqlSession = sqlSessionFactory.openSession();
UserDao mapper = sqlSession.getMapper(UserDao.class);
//分页查询的测试select * from t_users LIMIT ?, ?
PageHelper.startPage(2,3);
List<User> users = mapper.selectUsers();
System.out.println(users.toString());
}
PageInfo对象
PageInfo对象中包含了分页操作中的所有相关数据
使用PageInfo保存分页查询结果
@Test
public void testPageInfo(){
UserDao userDao = MyBatisUtils.getMapper(UserDao.class);
PageHelper.startPage(6, 2);
List<User> users = userDao.selectAllUsers();
PageInfo<User> pageInfo = new PageInfo<User>(users);//将分页查询的结果集保存在PageInfo对象中
System.out.println(pageInfo);
}
结果:
PageInfo{pageNum=2, pageSize=3, size=3, startRow=4, endRow=6, total=6, pages=2, list=Page{count=true, pageNum=2, pageSize=3, startRow=3, endRow=6, total=6, pages=2, reasonable=false, pageSizeZero=false}
[User{id=4, name=‘张三11’, password=‘123456’, sex=‘女’, birthday=null, registTime=null, pid=null, passport=null, addresses=null, roles=null}, User{id=5, name=‘张三11’, password=‘123456’, sex=‘女’, birthday=null, registTime=null, pid=null, passport=null, addresses=null, roles=null}, User{id=6, name=‘张三11’, password=‘123456’, sex=‘女’, birthday=null, registTime=null, pid=null, passport=null, addresses=null, roles=null}],
prePage=1, nextPage=0, isFirstPage=false, isLastPage=true, hasPreviousPage=true, hasNextPage=false, navigatePages=8, navigateFirstPage=1, navigateLastPage=2, navigatepageNums=[1, 2]}
思考:可以根据pageinfo的属性进行判断是否是最后一页等。
上一篇: 动态sql与缓存(一级缓存,二级缓存)
下一篇: spring的单例,注解
推荐阅读
-
解决Jenkins集成docker插件问题的一些方法
-
jQuery分页插件pagination.js 笔记
-
multiSteps 基于Jquery的多步骤滑动切换插件_jquery
-
bootstrap中插件treeview的介绍与使用
-
基于jquery创建的一个图片、视频缓冲的效果样式插件_jquery
-
20个非常棒的 jQuery 幻灯片插件和教程分享_jquery
-
在浏览器中实现图片粘贴的jQuery插件-- pasteimg使用指南
-
PHP反射机制实现插件的可插拔设计
-
jcrop插件+php实现的图片上传与裁剪
-
方便代理下单的EcStore收货地址一键分析插件,同时支持淘宝/京东/一号店