前五后四分页功能
第一步:写Controller
1、@RequestParam是实体属性与自定义参数名字不一样。
2、defaultValue = “1” 默认参数数量
@RequestMapping(value = "/list", name = "企业列表查询")
public String list(@RequestParam(value = "page",defaultValue = "1") Integer pageNum,
@RequestParam(defaultValue = "1") Integer pageSize) {
PageInfo pageInfo = companyService.findByPage(pageNum,pageSize);
request.setAttribute("page", pageInfo);
return "company/company-list";
}
第二步:service接口以及实现类
PageInfo findByPage(Integer pageNum, Integer pageSize);
@Override
public PageInfo findByPage(Integer pageNum, Integer pageSize) {
//1 设置pageNum和pageSize
PageHelper.startPage(pageNum, pageSize);
//2 查询所有的操作
List<Company> list = companyDao.findAll();
//3 返回一个pageInfo 10代表页条现在是个数
return new PageInfo<>(list, 10);
}
第三步:dao接口
Long findCount();
List findList(@Param("startIndex") Integer startIndex,@Param("pageSize") Integer pageSize);
第四步:xml文件
<select id="findCount" resultType="java.lang.Long">
select count(1) from ss_company
</select>
<select id="findList" resultMap="BaseResultMap">
select * from ss_company limit #{startIndex},#{pageSize}
</select>
第五步:引入PageHelper插件
1、引入坐标
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper</artifactId>
<version>${pagehelper.version}</version>
</dependency>
2、在SqlSessionFactoryBean的配置中添加一个plugins项
<!--sqlSessionFactory-->
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource"/>
<property name="plugins">
<array>
<bean class="com.github.pagehelper.PageInterceptor">
<property name="properties">
<value>
helperDialect=mysql
</value>
</property>
</bean>
</array>
</property>
</bean>