尚好房
6、分页处理
6.1、分页之dao层
1、添加xml方法
<sql id="findPageWhere">
<where>
<if test="roleName != null and roleName != ''">
and role_name = #{roleName}
</if>
and is_deleted = 0
</where>
</sql>
<select id="findPage" resultType="Role">
<include refid="columns" />
from acl_role
<include refid="findPageWhere"/>
order by id desc
</select>
2、RoleDao添加接口
Page<Role> findPage(Map<String, Object> filters);
说明:filters封装页面搜索条件,如:roleName
3、MyBatis中添加分页支持
在mybatis-config.xml添加分页支持
6.2、分页之service层
1、RoleService添加接口
PageInfo<Role> findPage(Map<String, Object> filters);
2、RoleServiceImpl添加接口实现
public PageInfo<Role> findPage(Map<String, Object> filters) {
//当前页数
int pageNum = CastUtil.castInt(filters.get("pageNum"), 1);
//每页显示的记录条数
int pageSize = CastUtil.castInt(filters.get("pageSize"), 10);
PageHelper.startPage(pageNum, pageSize);
return new PageInfo<Role>(roleDao.findPage(filters), 10);
}
common-util引入工具类:CastUtil(资源文件获取)
6.3、分页之controller层
RoleController添加方法
注释掉之前的列表方法
6.4、列表页面
1、获取分页条
模板页面:hplus-master/table_data_tables.html
从模板页面复制分页导航条
代码如下:
<div class="row">
<div class="col-sm-6">
<div class="dataTables_info" id="DataTables_Table_0_info" role="alert" aria-live="polite" aria-relevant="all">显示
1 到 10 项,共 57 项
</div>
</div>
<div class="col-sm-6">
<div class="dataTables_paginate paging_simple_numbers" id="DataTables_Table_0_paginate">
<ul class="pagination">
<li class="paginate_button previous disabled" aria-controls="DataTables_Table_0" tabindex="0"
id="DataTables_Table_0_previous"><a href="#">上一页</a></li>
<li class="paginate_button active" aria-controls="DataTables_Table_0" tabindex="0"><a href="#">1</a>
</li>
<li class="paginate_button " aria-controls="DataTables_Table_0" tabindex="0"><a href="#">2</a></li>
<li class="paginate_button " aria-controls="DataTables_Table_0" tabindex="0"><a href="#">3</a></li>
<li class="paginate_button " aria-controls="DataTables_Table_0" tabindex="0"><a href="#">4</a></li>
<li class="paginate_button " aria-controls="DataTables_Table_0" tabindex="0"><a href="#">5</a></li>
<li class="paginate_button " aria-controls="DataTables_Table_0" tabindex="0"><a href="#">6</a></li>
<li class="paginate_button next" aria-controls="DataTables_Table_0" tabindex="0"
id="DataTables_Table_0_next"><a href="#">下一页</a></li>
</ul>
</div>
</div>
</div>
说明:放入页面查看是否显示正常
2、完整页面
搜索与分页
搜索与分页都通过提交from表单的形式提交数据,后台controller获取参数放入Map对象作为参数
