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