生活随笔
收集整理的這篇文章主要介紹了
DAO查询列表
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
前陣子寫個DAO層的查詢列表,出了點小問題,記錄一下
針對當前的程序,為了使各個業務層都能用此DAO查詢,所以,查詢條件是可變的
我在Action中封裝查詢條件為Map<String,Object>類型的,String為屬性,Object為對應的值
查詢時開始用的是Query,后來還是覺得Criteria更加方便直觀
public?PageResult<T>?pageList(Map<String,?Object>?maps,?Class<T>?entity, ?????????int?nowPage,?int?pageSize)?throws?Exception?{ ???????????????int?totalNum?=?this.getHibernateTemplate().find("from?"+entity.getSimpleName()).size(); ??????????int?totalPage?=?totalNum%pageSize==0?totalNum/pageSize:totalNum/pageSize+1; ??????????List<T>?list?=?null; ?????Session?session?=?this.getSession(); ?????Criteria?c?=?session.createCriteria(entity); ?????????????if(maps!=null?&&?maps.keySet().size()>0){ ?????????for(String?propertyName:maps.keySet()){ ?????????????Object?value?=?maps.get(propertyName); ?????????????c.add(Restrictions.eq(propertyName,?value)); ?????????} ?????} ??????????c.setFirstResult((nowPage-1)*pageSize); ??????????c.setMaxResults(pageSize); ?????list?=?c.list(); ?????session.close(); ??????????PageResult<T>?pagebean?=?new?PageResult<T>(); ?????pagebean.setList(list); ?????pagebean.setNowPage(nowPage); ?????pagebean.setPageSize(pageSize); ?????pagebean.setTotalNum(totalNum); ?????pagebean.setTotalPage(totalPage); ?????return?pagebean; ?}? ?
轉載于:https://blog.51cto.com/zynet/757571
總結
以上是生活随笔為你收集整理的DAO查询列表的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。