在pom.xml中插入下面这段
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper</artifactId>
<version>5.1.2</version>
</dependency>
在applicationContext.xml中

<bean id="sqlSessionFactoryBean" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource"/>
<property name="plugins">
<array>
<bean class="com.github.pagehelper.PageInterceptor">
<property name="properties">
<props>
<prop key="helperDialect">oracle</prop>
<prop key="reasonable">true</prop>
</props>
</property>
</bean>
</array>
</property>
</bean>
service层

@Override
public List<Product> findAll(int page, int size) throws Exception {
PageHelper.startPage(page,size);
List<Product> list = productDao.findAll();
return list;
}
controller层

@GetMapping("/findAll.do")
@RolesAllowed("ADMIN")
public String findAll(@RequestParam(name = "page",required = true,defaultValue = "1") Integer page,@RequestParam(name = "size",required = true,defaultValue = "4") Integer size,Model model) throws Exception {
List<Product> productList = productService.findAll(page,size);
PageInfo pageInfo=new PageInfo(productList);
// ModelAndView mv = new ModelAndView();
model.addAttribute("pageInfo",pageInfo);
// mv.setViewName("product-list");
return "product-list";
}
注意PageInfo类

页面使用


本文展示了如何在SpringMVC项目中结合MyBatis和PageHelper实现分页查询。首先在pom.xml中引入PageHelper依赖,然后在applicationContext.xml配置PageInterceptor,并设置相关属性。接着在service层调用PageHelper.startPage()方法,最后在controller层处理分页请求,返回分页信息到页面展示。
488

被折叠的 条评论
为什么被折叠?



