pageHelper是国内非常优秀的一款开源的mybatis分页插件,他支持常用的数据库,例如MySQL、Oracle、SQLite等
1.添加pageHelper坐标:
<!-- mybatis提供的分页助手 -->
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper</artifactId>
<version>5.1.2</version>
</dependency>
2.配置mybatis的插件:
方式一,在applicationContext.xml里配置mybatis的pageHelper插件:
<!-- 配置SqlSessionFactory -->
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource"></property>
<!--配置分页助手-->
<property name="plugins">
<array>
<!-- 引入插件类型 -->
<bean class="com.github.pagehelper.PageInterceptor">
<!-- 指定使用的数据库-->
<property name="properties">
<!--因为分页插件支持多种数据库,需指明当前所用数据库 ,helperDialect mysql数据库(方言)-->
<props>
<prop key="helperDialect">mysql</prop>
</props>
</property>
</bean>
</array>
</property>
<!-- 引入sqlMapConfig.xml文件 -->
<property name="configLocation" value="classpath:sqlMapConfig.xml"></property>
<!-- 配置别名 -->
<property name="typeAliasesPackage" value="com.ld.domain"></property>
</bean>
方式二,在sqlMapConfig.xml里配置mybatis的pageHelper插件:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<!--引入分页插件,不用指定数据库方言,mybatis自动选择-->
<plugins>
<plugin interceptor="com.github.pagehelper.PageInterceptor"></plugin>
</plugins>
</configuration>
3.项目集成pageHelper:
控制层:
@Controller
@RequestMapping("/order")
public class OrderController {
@Autowired
OrderService orderService;
/**
* 分页助手--查询所有订单信息
* @param model
* @param currPage
* @param pageSize
* @return
*/
@RequestMapping("/findAll")
public ModelAndView findAll(ModelAndView model, @RequestParam(name = "currPage",defaultValue="1") Integer currPage,@RequestParam(name = "pageSize",defaultValue = "5") Integer pageSize){
PageInfo<Order> pageInfo = orderService.findByPageHelper(currPage, pageSize);
//将数据库查询结果封装到model
model.addObject("pageInfo"