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通過註解注入進來,有下面這三個類都實...