博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

01_基于一次请求并采用pageHelper的分页

Posted on 2017-12-03 14:16  叶灬黎  阅读(345)  评论(0)    收藏  举报

demo需求:

实现前端一个较为复杂的分页插件(美观也稍微过得去),并且后端采用pageHelper插件获取分页数据    

demo来由:

作为一个正在往优秀的Java后端开发工程师奔进的小码农,小叶子深刻意识到通用的代码对与一个程序员的重要性。而目前有个巨大的关卡就是分页插件的运用,好看的前端插件很多,但小叶子都不满意,很多都把插件封闭起来,通过回调函数操控,简要的说,基本上所有的插件都要先获取总记录数再获取相关页的记录,这对于共同奋斗在追求高品质代码的同志们(包括小叶子啦)来说是不能忍受的,换页操作本就是高频操作,居然要我们请求两次。于是小叶子花了大力气终于找到一个源码还算明亮的分页插件,自己改源码总算实现了一次请求又漂亮(勉强算)的分页插件。基于总算有个好的分页插件,再加上最近新认识一款后端分页插件(mybatis的小弟)pageHelper,大刀阔斧地就搞出了这个web的demo。

demo所用jar包(maven依赖):

<pageHelper.version>5.1.1</pageHelper.version>

<!-- pageHelper 基于mybatis的分页工具 依赖 -->
	<dependency>
		<groupId>com.github.pagehelper</groupId>
		<artifactId>pagehelper</artifactId>
		<version>${pageHelper.version}</version>
	</dependency>

demo主要代码:

applicationContext-core.xml中配置SqlSessionFactory添加两个属性

<!-- 配置SqlSessionFactory,org.mybatis.spring.SqlSessionFactoryBean是Mybatis社区开发用于整合Spring的bean -->
	<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
		<property name="dataSource" ref="dataSource"></property>
		<property name="mapperLocations" value="classpath:com/xyz/*/mapper/*.xml" />
		<property name="configLocation" value="classpath:conf/mybatis/mybatis-conf.xml" />
	</bean>

mybatis-conf.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration
        PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
	<plugins>
		<plugin interceptor="com.github.pagehelper.PageInterceptor" />
	</plugins>
</configuration>

应用代码

.
	@Autowired
	private PagesMapper pagesMapper;
	
	@Override
	public PageInfo<Pages> getPages(int current, int limit) {
		PageHelper.startPage(current, limit);
		PageInfo<Pages> pageInfo = new PageInfo<Pages>(pagesMapper.selectAllPages());
		
		return pageInfo;
	}

demo资源位置:

svn://106.15.229.200/Javaweb/tiny_demo(com.xyz.paging) 用户temp/密码temp