分页显示部门的信息
1.sql语句
<!-- 信息封装-->
<resultMap id="listDeptVoOfPageResultMap" type="com.sxt.pojo.DeptVo" >
<id column="DEPT_ID" property="deptId" jdbcType="VARCHAR" />
<result column="DEPT_NAME" property="deptName" jdbcType="VARCHAR" />
<result column="PARENT_ID" property="parentId" jdbcType="VARCHAR" />
<result column="STATE" property="state" jdbcType="INTEGER" />
<result column="dept_no" property="deptNo" jdbcType="VARCHAR" />
<result column="parent_name" property="parentName" jdbcType="VARCHAR" />
</resultMap>
<!-- 分页查询信息 -->
<select id="listDeptVoOfPage" resultMap="listDeptVoOfPageResultMap">
SELECT
d.*, p.DEPT_NAME parent_name
FROM
dept_p d
LEFT JOIN dept_p p ON d.PARENT_ID = p.DEPT_ID
ORDER BY d.dept_no DESC
</select>
2.编写pageBean
public class PageBean implements Serializable {
//数据
private List<?> datas;
//总共多少条
private Long totalRows;
//当前页
private Integer curPage=1;
//每页多少条数据
private Integer pageSize=10;
//总共多少页
private Integer totalPages;
3.mapper接口添加方法
List<DeptVo> listDeptVoOfPage();
4.业务层调用
/**
* @param curPage 当前页数
* @param pageSize 显示的条数
* @description:
* @return: com.sxt.page.PageBean
* @author: shinelon
* @time:
*/
@Override
public PageBean pageDept(Integer curPage, Integer pageSize) {
PageBean pageBean = new PageBean();
//设置分页条件
PageHelper.offsetPage((curPage - 1) * pageSize, pageSize);
List<DeptVo> deptVos = deptPMapper.listDeptVoOfPage();
PageInfo<DeptVo> info = new PageInfo<>(deptVos);
//设置属性填充
pageBean.setDatas(info.getList());
pageBean.setTotalPages(info.getPages());
pageBean.setTotalRows(info.getTotal());
return pageBean;
}
}
5.控制器
/**
* @param pageSize 显示的总条数
* @param curPage 当前页数
* @description: 分页显示部门信息
* @return:
* @author: shinelon
* @time: 2019/8/7:19:01
*/
@RequestMapping("/list")
public String loadDept(Model model,@RequestParam(defaultValue = "1") Integer curPage, @RequestParam(defaultValue = "10") Integer pageSize){
PageBean pageBean = deptService.pageDept(curPage, pageSize);
model.addAttribute("pb",pageBean);
return "sysadmin/dept/jDeptList";
}
6.页面展示
<c:forEach items="${pb.datas}" var="dept" varStatus="st">
<tr class="odd" onmouseover="this.className='highlight'" onmouseout="this.className='odd'" >
<td><input type="checkbox" name="id" value="${dept.deptId }"/></td>
<td>${st.count }</td>
<td>${dept.deptNo }</td>
<td>${dept.parentName }</td>
<td><a href="deptAction_toview?id=${dept.deptId }">${dept.deptName }</a></td>
<td>${dept.state==1?'启用':'停用'}</td>
</tr>
</c:forEach>