本文在SSM框架下使用pageHelper实现简单分页,关于SSM的部分请参看:SSM+Maven
1.引入Maven依赖
<!-- 分页插件-->
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper</artifactId>
<version>5.0.0</version>
</dependency>
2、完成pageHelper的注册
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource"/>
<!--指明mybatis中配置文件的位置-->
<property name="configLocation" value="classpath:mybatis-config.xml"></property>
<!-- <property name="typeAliasesPackage" value="com.myssm.paul.mapper"/>-->
<!--配置mapper.xml文件的位置,一般该类文件在ssm中与mybatis配置文件放在同一个路径下(资源路径下)
z这里需要注意的是一点要指明具体的文件
-->
<property name="mapperLocations" value="classpath:mapper/*.xml"></property>
<!--注册pageHelper插件-->
<property name="plugins">
<array>
<bean class="com.github.pagehelper.PageInterceptor">
<property name="properties">
<!--使用下面的方式配置参数,一行配置一个 -->
<value>
params=value1
</value>
</property>
</bean>
</array>
</property>
</bean>
3、Controller
package com.myssm.paul.controller;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.myssm.paul.pojo.Employee;
import com.myssm.paul.service.EmployeeService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import javax.servlet.http.HttpServletRequest;
import java.util.List;
import java.util.Map;
/**
* @author Puhao
* @date 2019/5/8 0008
* @brief
*/
@Controller
public class EmployeeController {
@Autowired
EmployeeService employeeService;
@RequestMapping("/testPage")
public String userList(@RequestParam(required = true, defaultValue = "1") Integer page, Model model) {
//page默认值是1,pageSize默认是10,我写的是5 意思是从第1页开始,每页显示5条记录。
PageHelper.startPage(page, 5);
List<Employee> userList = employeeService.selectAll();
System.out.println(userList);
PageInfo<Employee> p = new PageInfo<>(userList);
model.addAttribute("page", p);
model.addAttribute("userList", userList);
return "employee/testPages";
}
}
4、前端页面:
@RequestMapping("/testPage")
public String userList(@RequestParam(required=true,defaultValue="1") Integer page, Model model){
//page默认值是1,pageSize默认是10,我写的是2 意思是从第1页开始,每页显示2条记录。
PageHelper.startPage(page, 5);
List<Employee> userList = employeeService.selectAll();
System.out.println(userList);
PageInfo<Employee> p=new PageInfo<>(userList);
model.addAttribute("page", p);
model.addAttribute("userList",userList);
return "employee/testPages";
}
5、效果:
