SpringMVC+MyBatis下使用Pagehelper插件实现分页功能

1.首先在项目中添加PageHelper的Maven依赖

**pom.xml添加分页插件依赖**
	  <!-- mybatis 分页插件 -->
	  <dependency>
		  <groupId>com.github.pagehelper</groupId>
		  <artifactId>pagehelper</artifactId>
		  <version>4.1.6</version>
	  </dependency>

2.在已经配置好的mybatis配置文件中添加对 PageHelper 插件的属性配置

<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
		<property name="dataSource" ref="dataSource" />
		<property name="mapperLocations" value="classpath:sqlMapper/*.xml" />
		<property name="plugins">
			<array>
				<bean class="com.github.pagehelper.PageHelper">
					<property name="properties">
						<value>dialect=mysql</value>
					</property>

				</bean>
			</array>
		</property>
	</bean>

3.在Service层中直接调用

        List<PaperResearch> list = null;
        try {

            //引入分页查询,使用PageHelper分页功能
            //在查询之前传入当前页,然后多少记录
            /**
             * pageNum:当前页

             sizeNum:每页显示条数

             count :是否查询总条数 (true:查询 ,false:不查询)
             */
            PageHelper.startPage(Integer.valueOf(pageNum), 5,true);
            list = paperResearchMapper.selectByExample(paperResearchExample);

            PageInfo<PaperResearch> page=new PageInfo<PaperResearch>(list);
            returnMap.put("page", page);

            System.out.println("总数量:" + page.getTotal());
            System.out.println("当前页查询记录:" + page.getList().size());
            System.out.println("当前页码:" + page.getPageNum());
            System.out.println("每页显示数量:" + page.getPageSize());
            System.out.println("总页:" + page.getPages());
        } catch (Exception e) {
            e.printStackTrace();
        }

注意
1.当一个方法中有多个查询语句时,只有紧跟在PageHelper.starPage()方法后的查询结果才会分页。
2.pageHelper是线程安全所以 查询以后对结果进行分页,如果有需要处理list的 逻辑在分页以后进行处理,不然会出现分页失效的情况。
3.pagehelper.start() 默认初始位置为从1开始,pageNum传0,会查不出结果。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值