在進行分頁操作前,必須知道開啟服務器模式后會向服務器發送的參數的含義:
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;
}
?