您现在的位置是:首页 > 个人日记个人日记

spring&mybatis-分页插件使用

2019-02-07 12:52:35【个人日记】47人已围观

简介分页插件用于服务器,可以更好地展示数据,当然前端js也是可以分页的

分页插件使用

jar包为

  1. <!-- mybatis分页插件依赖 -->
  2. <dependency>
  3. <groupId>com.github.pagehelper</groupId>
  4. <artifactId>pagehelper</artifactId>
  5. <version>5.1.8</version>
  6. </dependency>

spring-config.xml配置dateSource

  1. <!--SqlSessionFactory工厂交给spring-->
  2. <bean id="sqlSessionFactory" name="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
  3. <!--将数据源注入SqlSessionFactory-->
  4. <property name="dataSource" ref="dateSource"></property>
  5. <!--引入映射-->
  6. <property name="mapperLocations" value="classpath:mapper/*.xml"></property>
  7. <!--分页插件配置-->
  8. <property name="plugins">
  9. <array>
  10. <!--分页拦截器-->
  11. <bean class="com.github.pagehelper.PageInterceptor">
  12. <property name="properties">
  13. <!--配置property属性-->
  14. <value>
  15. <!--此处配置已经配好-->
  16. reasonable=true
  17. <!--offsetNum=PageNum-->
  18. offesetAsPageNum=true
  19. </value>
  20. </property>
  21. </bean>
  22. </array>
  23. </property>
  24. </bean>

需要如上配置

测试中这样写

  1. package com.huangxin.order.service;
  2. import com.github.pagehelper.PageHelper;
  3. import com.github.pagehelper.PageInfo;
  4. import com.huangxin.order.mapper.UserMapper;
  5. import com.huangxin.order.model.User;
  6. import org.apache.ibatis.session.RowBounds;
  7. import org.junit.Test;
  8. import org.junit.runner.RunWith;
  9. import org.springframework.beans.factory.annotation.Autowired;
  10. import org.springframework.test.context.ContextConfiguration;
  11. import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
  12. import java.util.List;
  13. @RunWith(SpringJUnit4ClassRunner.class)
  14. @ContextConfiguration(locations = "classpath:spring-config.xml")
  15. public class UserServiceTest {
  16. @Autowired
  17. private UserMapper userMapper;
  18. // @Test
  19. // public void test() {
  20. // User byId = userMapper.getById(1);
  21. // System.out.println(byId);
  22. // }
  23. /**
  24. * 查询数据,并且查询所有记录数
  25. */
  26. @Test
  27. public void test1() {
  28. //配置分页插件
  29. // pageNum时页码数
  30. // pageSize一页多少数
  31. // 如果pageNum<0则查第一页,如果大于最大页数则查最后一页
  32. // 如果pageSize等于0则查所有
  33. PageHelper.startPage(3, 0);
  34. List<User> users = userMapper.selectAll();
  35. for (User user : users) {
  36. System.out.println(user);
  37. }
  38. }
  39. @Test
  40. public void test3() {
  41. PageHelper.startPage(3, 5);
  42. List<User> users = userMapper.selectAll();
  43. PageInfo<User> pageInfo = new PageInfo<User>(users);
  44. //查询所分页属性
  45. System.out.println(pageInfo.getPageNum());//页数
  46. System.out.println(pageInfo.getPageSize());//一页多少个
  47. System.out.println(pageInfo.getStartRow());//开始行
  48. System.out.println(pageInfo.getTotal());//总计
  49. System.out.println(pageInfo.isIsFirstPage());//是否第一页
  50. System.out.println(pageInfo.isIsLastPage());//是否最后一页
  51. System.out.println(pageInfo.isHasNextPage());//是否有下一页
  52. System.out.println(pageInfo.isHasPreviousPage());//是否有前一页
  53. //数据集
  54. System.out.println(pageInfo.getList());
  55. for (User user : users) {
  56. System.out.println(user);
  57. }
  58. }
  59. /**
  60. * 只查当前页的数据
  61. */
  62. @Test
  63. public void test() {
  64. // rowBounds里的两个属性,就是pageHelper.offestPage用法相同
  65. List<User> users = userMapper.selectByRowBounds(null, new RowBounds(0, 5));
  66. for (User user : users) {
  67. System.out.println(user);
  68. }
  69. }
  70. }

查询页数信息使用PageInfo方法,这个方法几乎包含了所有关于页面的信息

Tags: JavaWeb  

评论区

    2020-08-15 18:54:45

    站长

    没有登录功能是为了方便大家留言,但留言接口现在被恶意攻击,将关闭留言接口,如有疑问,请联系我的QQ 1538933906/同微信


文章评论



给自个选个头像吧!






站点信息

  • 建站时间:   2019-01-31
  • 网站程序:   Tomcat+nginx
  • 文章统计:   44篇文章
  • 标签管理:   标签云
  • 微信公众号:  扫描二维码,联系我