PageHelper的原理是利用mybatis拦截器,在查询数据库的时候,拦截下SQL,然后进行修改,从而实现分页
我们在是用myatias的可以使用第三方提供的插件来实现数据的分页,PageHelper的原理是利用mybatis拦截器,在查询数据库的时候,拦截下SQL,然后进行修改,从而实现分页
-
我们在是用myatias的可以使用第三方提供的插件来实现数据的分页,在maven的poom.xml文件中加载所需的包
<!-- mybatis pager --> <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper</artifactId> <version>4.1.0</version> </dependency> <dependency> <groupId>com.github.miemiedev</groupId> <artifactId>mybatis-paginator</artifactId> <version>1.2.17</version> </dependency> <dependency> <groupId>com.github.jsqlparser</groupId> <artifactId>jsqlparser</artifactId> <version>0.9.4</version> </dependency>
- 在Spring的mybatis的配置中加上pagehelper配置
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <property name="dataSource" ref="dataSource"/> <property name="mapperLocations" value="classpath*:mappers/*Mapper.xml"></property> <!-- 分页插件 --> <property name="plugins"> <array> <bean class="com.github.pagehelper.PageHelper"> <property name="properties"> <value> dialect=mysql </value> </property> </bean> </array> </property> </bean>
3. 分页实现
通过PageHelper.start("当前第几页”,“每一页数量”)
public ServerResponse<PageInfo> getProductList( int pageNum,int pageSize){
PageHelper.startPage(pageNum,pageSize);
List<Product> productList=productMapper.getProductList();
PageInfo pageResult=new PageInfo(productList);
return ServerResponse.createBySuccess(pageResult);
}
通过调用方法传值轻松实现分页查询