参考:http://www.cnblogs.com/ljdblog/p/6725094.html
http://blog.csdn.net/appleyk/article/details/77318175
- maven 引入.我用的是4.1.6
<dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper</artifactId> <version>4.1.6</version> </dependency>
- mybatis-config.xml中加入,如果有<settings>,在<settings>后加入否则会报错,这里需要注意版本的问题,如果是高版本,则要加入<plugin interceptor="com.github.pagehelper.PageInterceptor"></plutin>并且不用配dialect方言,我是4.1.6,所以加入的是下面这段:
<plugins> <!--<plugin interceptor="com.github.pagehelper.PageInterceptor">--> <plugin interceptor="com.github.pagehelper.PageHelper"> <property name="dialect" value="mysql"/> </plugin> </plugins>
- UserMapper接口l:
public interface UserMapper{List<User> getUser();}
- UserService接口
public interface UserService {PageInfo<User> getUser(int currentPage, int pageSize);}
- mapper配置User.xml
<mapper namespace="com.cen.mapper.UserMapper">
<select id="getUser" resultType="User">
select * from b_user
</select> </mapper>
- 分页impl
public class UserServiceImpl implements UserService {@Autowired UserMapper userMapper;public PageInfo<User> getUser(int currentPage, int pageSize){PageHelper.startPage(currentPage,pageSize); List<User> list = userMapper.getUser(); PageInfo<User> pageInfo = new PageInfo<>(list); return pageInfo;}}
这样就可以达到分页的效果,但是如果以ajax请求数据的话,那就是把PageInfo<User>的对象json化,得到的会封装成包含了页数的json数据,所以,前台要取到数据的话要遍历的就是data.list.如下:
$.post('/getUser',{currentPage:currentPage,pageSize:pageSize},function(data){$.each(data.list,function(i,n){ alert(n.username); });});