ssh整合dao層的分頁方法

2021-08-25 17:51:55 字數 1175 閱讀 5057

1.方法一

/*** 使用hql 語句進行分頁查詢操作

* @param hql 需要查詢的hql語句

* @param values 如果hql有多個個引數需要傳入,values就是傳入的引數陣列

* @param offset 第一條記錄索引

* @param pagesize 每頁需要顯示的記錄數

* @return 當前頁的所有記錄

*/public list findbypage(final string hql, final object values,

final int offset, final int pagesize)

list result = query.setfirstresult(offset)

.setmaxresults(pagesize)

.list();

return result;

}});

return list;}}

2.方法二

public pagelistrootcategorys(int start, int pagesize) {

string hql = "from opproductcategory p where p.parentopproductcategory=null";

session session = sessionfactoryutils.getsession(gethibernatetemplate().getsessionfactory(), true);

session.begintransaction();

query query = session.createquery(hql);

//先得到總的記錄數

int totalrows = query.list().size();

//得到當頁的記錄

query.setfirstresult(start);

query.setmaxresults(pagesize);

listcategorys= query.list();

session.gettransaction().commit();

//構造乙個page物件

pagepage = new page(start,totalrows,pagesize,categorys);

return page;

dao層方法中的 Param說明

1 採用 param的方法可有多個引數 public void abc param username string name,param password string password select from testtable where username 2 xml 中的 sql 使用了 那麼...

dao層 service層 事務的理解

dao層 對應資料最底層操作,一般來說,乙個資料庫table對應乙個dao,單錶操作。service層 把客戶多方面要求進行彙總,對外只有引數即可,至於服務層操作多少個dao與客戶無關。事務四大特性 1.原子性 原子性是指事務是乙個不可分割的工作單位,事務中的操作要麼都發生,要麼都不發生。2.一致性...

MyBatis的Dao層注入SqlSession

於是就想把這東西整合進來,當進行dao的時候發現乙個小問題,sqlsession怎麼注入進來的問題,以前hibernate的的習慣用sessionfactory的opensession 方法,但是每個方法都要open一下,麻煩,就想能不能直接把sqlsession通過註解注入進來,有下面這三個類都實...