基与datatable的分页

在进行分页操作前,必须知道开启服务器模式后会向服务器发送的参数的含义:

length:告诉服务器每页显示的数据条数

start:第一条数据的起始位置

draw:绘制计数器,(特殊:服务器接收到参数后,需要返回到前台)

1.在前台开启服务器模式

"serverSide": true

2.在后台接受前台传递过来的参数

public Map<String,Object> search145(UserInfo UserInfo,int length,int draw,int start)

3.在后台通过Hibernate查询结果

public Map<String,Object> search145(UserInfo userInfo,int length,int draw,int start){

        List<UserInfo> list=new ArrayList<UserInfo>();

    Map<String,Object> map=new HashMap<String, Object>();
int totalCount=0;
Session session=null;
String hql="from Airline145Info where 1=1";
    try{
session=HibUtil.getSession();//创建Session对象
Query querySelect=session.createQuery(hql);//通过调用Session对象创建Query的对象
totalCount=querySelect.list().size();//得到要查询的总记录条数
querySelect.setFirstResult(start);//将数据的起始位置加入到Query对象中
querySelect.setMaxResults(length);//将每页显示的数据条数添加到Query对象中
list=querySelect.list();//这个时候数据的条数已经改变了。为要每页显示的数据条数
}catch(Exception e){
e.printStackTrace();
}finally {
closeSession(session);
}
map.put("draw",draw);//返回到前台
map.put("data",list);//分过页的查询结果
map.put("recordsTotal",totalCount);//查询到的数据中条数
map.put("recordsFiltered",totalCount);//有过滤条件,过滤后的数据总条数
return map;
}

 

posted @ 2018-08-12 19:14  白鬼为魄  阅读(148)  评论(0编辑  收藏  举报