快捷搜索:  汽车  科技

pagehelper插件效率低(PageHelper分页插件)

pagehelper插件效率低(PageHelper分页插件)<!-- 3. 配置SqlSessionFactory 对象 -->https://pagehelper.github.io/docs/ <version>5.1.4</version></dependency>文档:

PageHelper分页插件

pagehelper插件效率低(PageHelper分页插件)(1)

pom.xml 文件中添加 PageHelper 依赖包

<!-- https://mvnrepository.com/artifact/com.github.pagehelper/pagehelper -->

<dependency>

<groupId>com.github.pagehelper</groupId>

<artifactId>pagehelper</artifactId>

<version>5.1.4</version>

</dependency>

文档:

https://pagehelper.github.io/docs/

在Spring 配置文件中,配置拦截器插件

<!-- 3. 配置SqlSessionFactory 对象 -->

<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">

<!-- 注入数据库连接池 -->

<property name="dataSource" ref="dataSource" />

<!-- 扫描sql配置文件:mapper 需要的xml 文件 -->

<property name="mapperLocations" value="classpath:mapper/*.xml" />

<!-- 配置分页插件 -->

<property name="plugins">

<array>

<bean class="com.github.pagehelper.PageInterceptor">

<property name="properties">

<value>

helpDialect=mysql

reasonable=true

</value>

</property>

</bean>

</array>

</property>

</bean>

项目中使用方法和结果

在配置完mybatis后,我简单的说下pagehelper的业务用法,就以分页查询用户列表为例。

添加查询所以用户的mapper接口,对应的sql语句我就不写了。

List<UserVo> listUser();

重点来了,然后在service中,先开启分页,然后把查询结果集放入PageInfo中:

public PageInfo listUserByPage(int pageNum int pageSize) {

PageHelper.startPage(pageNum pageSize);

List<UserVo> userVoList=userMapper.listUser();

PageInfo pageInfo=new PageInfo(userVoList);

return pageInfo;

}

PageHelper.startPage(pageNum pageSize);这句非常重要,这段代码表示分页的开始,意思是从第pageNum页开始,每页显示pageSize条记录。

PageInfo这个类是插件里的类,这个类里面的属性会在输出结果中显示,使用PageInfo这个类,你需要将查询出来的list放进去。

PageInfo这个类里面的属性:

pageNum 当前页

pageSize 每页的数量

size 当前页的数量

orderBy 排序

startRow 当前页面第一个元素在数据库中的行号

endRow 当前页面最后一个元素在数据库中的行号

total 总记录数(在这里也就是查询到的用户总数)

pages 总页数

list 结果集

prePage 前一页

nextPage 下一页

isFirstPage 是否为第一页

isLastPage 是否为最后一页

hasPreviousPage 是否有前一页

hasNextPage 是否有下一页

navigatePages 导航页码数

navigatepageNums 所有导航页号

navigateFirstPage 导航第一页

navigateLastPage 导航最后一页

firstPage 第一页

lastPage 最后一页

猜您喜欢: