maven中主要依赖 分页助手(com.github.pagehelper)
一、pom.xml中引用 pagehelper 依赖
<!-- mybatis的分页助手 -->
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper</artifactId>
<version>4.1.6</version>
</dependency>
二、spring-mybatis.xml 中配置分页插件
<!-- 配置分页插件 -->
<property name="plugins">
<array>
<bean class="com.github.pagehelper.PageHelper">
<property name="properties">
<value>
dialect=mysql
reasonable=true
</value>
</property>
</bean>
</array>
</property>
三、具体实现代码
Controller
@Controller
@RequestMapping("/items")
public class ItemsController {
@Autowired
private ItemsService itemsService;
@RequestMapping("/center")
public String center(ItemsVo vo, Integer pageSize, Integer pageNo, HttpServletRequest request){
//当用户第一次访问的时候,分页条件全部为null,初始化分页条件
pageSize = pageSize==null?10:pageSize;
pageNo = pageNo==null?1:pageNo;
/**
* 使用的是pageHelper助手
* 功能:
* 只需要查询出满足条件的全部数据,底层类似spring的aop机制
* 会把sql拦截,重新生成两条sql(分页sql)进行查询
*/
PageHelper.startPage(pageNo,pageSize);
List<Items> itemsList = itemsService.findAllitemsByQueryVo(vo);
PageInfo<Items> page = new PageInfo<>(itemsList);
request.setAttribute("page",page);
request.setAttribute("vo",vo);
return "items/list";
}
}
mapper.xml
<select id="findAllitemsByQueryVo" parameterType="itemsVo" resultMap="BaseResultMap">
SELECT *FROM items
</select>