利用PageHelper插件 完成分页功能
导入pom.xml的依赖
<!--分页依赖-->
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper</artifactId>
<version>5.1.4</version>
</dependency>
在spring中编写配置文件(我是在spring中编写的,整合之后的)。
<bean class="org.mybatis.spring.SqlSessionFactoryBean" id="sessionFactory">
<!-- 配置 mapper/mapper.xml文件的位置-->
<property name="dataSource" ref="basicDataSource"/>
<property name="mapperLocations" value="classpath:mapper/*.xml"></property>
<!-- 配置mybatis。xml 的位置,与mapper。xml相关联
-->
<property name="configLocation" value="classpath:mybatis.xml"/>
<!-- 分页功能实现-->
<property name="plugins">
<array>
<bean class="com.github.pagehelper.PageInterceptor">
<property name="properties">
<value>
params = value1
</value>
</property>
</bean>
</array>
</property>
</bean>
接下来就是我们的接口和方法
1.编写dao层接口
// 分页查询
List<User> findAll();
2.编写Usermapper.xml文件
<!-- 分页查询-->
<select id="findAll" resultType="com.lang.model.User">
select t_user.id, userName,userImg,userAccount,userTel,userWxid,userIdcard,userAddress,t_role.roleName ,userDeleted from t_user left join t_role on t_role.id = t_user.roleId
</select>
3.编写相关业务层接口和实现类代码
// 分页显示
PageInfo<User> getAllUserByPage(Integer page, Integer rows);
4.编写业务实现类方法
@Override
public PageInfo<User> getAllUserByPage(@RequestParam(defaultValue = "1") Integer page, Integer rows) {
//分页
PageHelper.startPage(page,7);//pageNum 指定页码,pageSize 为每页显示几条数据
List<User> list=userMapper.findAll();//调用全部查询
PageInfo<User> pageInfo= new PageInfo(list);
return pageInfo;
}
5.编写相关的controller控制层方法
/**
* 分页查询
* @param pageSize
* @param pageNumber
* @throws Exception
*/
@RequestMapping("/showUserByPage")
public String showUserByPage(@RequestParam(defaultValue = "1") Integer page, Integer pageSize, Integer pageNumber,Model model) throws Exception{
//组装返回的数据
PageInfo<User> pageInfo=userService.getAllUserByPage(page,pageSize);
model.addAttribute("pageInfo",pageInfo);
model.addAttribute("users",pageInfo.getList());
return "view/user/user_list";
}
完结!