在ssm项目中如何使用PageHelper分页插件进行分页的使用
PageHelper的使用原理大概就是 对于sql进行一个拦截作用,然后将分页的数据 与原有的sql进行一个动态的拼接,将其返给数据库然后进行查询
知道大概原理后我们先看在项目使用中controller层的一个书写
//controller层实现
@ResponseBody
public Object PagefindAll(
String name,
@RequestParam(value = "page", defaultValue = "1") Integer page,
@RequestParam(value = "limit", defaultValue = "5") Integer limit) {
// name 带条件查询
if (name == null) {
name = "";
}
PageInfo<Item> pageInfo = itemService.findByPages(page, limit, "%" + name + "%");
System.out.println(pageInfo.getList().toString());
return JsonData.buildSuc(pageInfo);
}
然后来看service主代码的实现
//service层实现
/**
* 分页查询
* @param page
* @param limit
* @return
*/
public PageInfo<Item> findByPages(Integer page, Integer limit , String name) {
PageHelper.startPage(page,limit);
List<Item> list =itemtMapper.findItemByPage(name); // 查询所有
PageInfo<Student> pageInfo = new PageInfo<Item>(list);
return pageInfo;
}
mapper映射文件sql
/mapper映射文件sql
<select id="findItemByPage" resultType="xxx.xxx.bean.Item">
select *
from item
where name like #{name}
</select>