1.添加依赖
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper</artifactId>
<version>5.1.2</version>
</dependency>
2.springmvc项目需要在spring的配置文件中配置拦截器插件,在 sqlSessionFactory 中配置,可以不用配置,默认即可
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:context="http://www.springframework.org/schema/context" xmlns:p="http://www.springframework.org/schema/p"
xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.2.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd
http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util.xsd">
<!-- 关于持久层配置需要哪些-->
<!-- dataSource sqlSessionFactory mapper扫描器-->
<!--dataSource-->
<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource">
<property name="driverClassName" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/saas-export?characterEncoding=utf-8"/>
<property name="username" value="root"/>
<property name="password" value="root"/>
</bean>
<!--sqlSessionFactory-->
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource"/>
<!-- 实体类的别名配置-->
<property name="typeAliasesPackage" value="cn.itcast.domain"/>
<!-- pageHelper插件 -->
<property name="plugins">
<array>
<bean class="com.github.pagehelper.PageInterceptor">
<property name="properties">
<!--使用下面的方式配置参数,一行配置一个 -->
<value>
<!-- 如有需要可以添加配置,默认即可 -->
helperDialect=mysql
</value>
</property>
</bean>
</array>
</property>
</bean>
<!--mapper扫描器-->
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="basePackage" value="cn.itcast.dao"/>
</bean>
</beans>
3.pageHelper配置介绍 在 上面面 sqlSessionFactory中的pageHelper插件的value<>中配置
4.代码中如何使用
5.代码中实现
//使用pageHelper返回的pageInfo对象,其实和自己封装的对象类似,也有第一页,当前页,每页大小......
//只需要传参数,当前页,和每页大小即可得到所有分页数据
public PageInfo findPage(int pageNum, int pageSize) {
PageHelper.startPage(pageNum, pageSize);
//正常业务,查询的数据
List<Company> list = companyDao.findAll();
//5是自定义的每页大小,pageInfo默认每页8条,点到pageInfo中可以看到
return new PageInfo<Company>(list,5); //PageInfo中有PageBean中的所有的属性,可以使用PageInfo替代PageBean
}
//自己封装的pageBean
/* @Override
public PageBean findPage(int pageNum, int pageSize) {
//起始位置=(当前页-1)*每页显示条数=(pageNum-1)*pageSize
//list:当前页的数据 select * from ss_company limit 起始位置,每页显示的条数
//total: select count(0) from ss_company
List list = companyDao.findPage((pageNum-1)*pageSize,pageSize);
Long total = companyDao.findCount();
return new PageBean(pageNum,pageSize,list,total);
}*/