1、建立一个SearchModel类和Pager<T>类,分别作为查询基类,存储每页信息,和分页操作类;
public class SearchModel<T> {
//页数
private int page;
//每页行数
private int rows;
//get和set方法
}
</pre><pre class="java" name="code"><div>public class Pager<T> {
</div><div> //总行数
private int total;
//数据列表
private List<T> rows;</div><div>
</div><div> public Pager(){
}
public Pager(List<T> list){
</div><div> this.total = ((PageList<T>)list).getPaginator().getTotalCount();
this.rows = list;
}
public Pager(List<T> rows,int total){
this.rows = rows;
this.total = total;
}</div><div> //get和set方法
</div>
2、写自己的页面信息Model继承SearchModel类,将页面所需要信息,比如输入的查询信息、下拉框的选择信息等;
<pre class="java" name="code">public class TitleTalentModel extends SearchModel<TitleTalent> {
private String message; //查询框输入信息
private String name; //姓名
private String idCardNo; //身份证
//get和set方法
3、在dao层写获取数据列表的接口,返回List<T>类型,传入Model和PageBounds;
List<TitleTalent> getTitleTalentList(@Param("model")TitleTalentModel model, PageBounds pageBounds);
4、在Service层中,写获取数据列表接口,返回Pager<T>类型,传入Model;
Pager<TitleTalent> getTitleTalentList(TitleTalentModel titleTalentModel);
5、实现Service层接口,调用DAO层方法;
public Pager<TitleTalent> getTitleTalentList(TitleTalentModel model) {
List<TitleTalent> titleTalentList = titleTalentDAO.getTitleTalentList(model, model.getPageBounds(""));
return new Pager<TitleTalent>(titleTalentList);
}
6、在Controller中,写获取信息的sql;
<select id="getTitleTalentList" resultMap="baseMap">
SELECT
t1.id,t1.name,t1.id_card_no,t1.gender,
t1.work_org,t1.professional_title,t1.certificate_no,
t1.pro_skill_level,t2.name as name1,t1.obtain_date
FROM
t_tims_title_talent t1
LEFT JOIN
t_tims_dictionary t2
ON
t1.pro_skill_level = t2.`code