-
本篇文章分两部分,这是后端部分,还有页面部分
-
后端实现分页必须下载 page.jar包然后build Path 到工程中
-
分页插件pagehelper.jar:
https://oss.sonatype.org/content/repositories/releases/com/github/pagehelper/pagehelper/
http://repo1.maven.org/maven2/com/github/pagehelper/pagehelper/
由于使用了sql解析工具,你还需要下载jsqlparser.jar4.1.0及以后版本需要0.9.4版本
http://repo1.maven.org/maven2/com/github/jsqlparser/jsqlparser/0.9.4/
4.1.0以前版本需要0.9.1版本http://repo1.maven.org/maven2/com/github/jsqlparser/jsqlparser/0.9.1/
- 注:以上是下载链接。本人亲测有效的两个包,(jsqlparser-0.9.5.jar 加 pagehelper-4.1.4.jar)
- 下面是精简后的数据。主要在serviceImpl类中。每步含义已添加注释。
/**
*前提条件需要下载 page.jar包然后build Path 到工程中
*/
/**
*实体类
*添加一个vo类 继承原有的实体类(当然下面的几个属性也可以添加到原有的实体类中)
*/
public class Uservo extends User{
private String curr_page;
private String per_page;
private int page_size;
省略get/set
}
/**
*Controller 层
*/
@Controller
public class UserController{
@Autowired
UserService userService;
@RequestMapping(value="/queryResult",method={RequestMethod.POST,RequestMethod.GET})
@ResponseBody
public List<Uservo> queryUser(HttpServletRequest request, Uservo uservo) throws Exception{
return UserService.queryUserService(uservo);
}
}
/**
*Service 层 省略....
*/
/**
*ServiceImpl 层
*/
@Override
public List<Uservo> queryUserService(Uservo uservo) throws Exception {
PageHelper.startPage(uservo.curr_page,10, true); //必须在查询语句前面,第一个值页面转入的当前page,第二个值是设定一页显示条数
List<uservo> userList = userMapper.selectByAll(); //查询语句(mapper.直接调用即可.)
PageInfo<Uservo> userQuery = new PageInfo<Uservo>(userList); //必须在查询语句后,然后把查询的List放入pageInfo
for (Uservo vo : userList) {
vo.setCurr_page(uservo.getCurr_page); //把前台传入的页编号,存入返回的vo类中
vo.setPage_size(userQuery.getLastPage()); //把PageInfo里面的总数,存入返回的vo类中.
}
return userList;
}