/******************************************************************************
|
* Copyright (C) 2015 Shenzhen Penguin Network Technology Co., Ltd
|
* All Rights Reserved.
|
* ±¾Èí¼þΪÉîÛÚÊÐÆó¶ìÍøÂç¿Æ¼¼ÓÐÏÞ¹«Ë¾¿ª·¢ÑÐÖÆ¡£Î´¾±¾¹«Ë¾ÕýʽÊéÃæÍ¬Ò⣬ÆäËûÈκθöÈË¡¢ÍÅÌå
|
* ²»µÃʹÓᢸ´ÖÆ¡¢Ð޸Ļò·¢²¼±¾Èí¼þ.
|
*****************************************************************************/
|
|
package com.qxueyou.scc.school.dao;
|
|
import java.util.ArrayList;
|
import java.util.List;
|
|
import org.hibernate.Query;
|
import org.hibernate.SQLQuery;
|
import org.hibernate.Session;
|
import org.springframework.orm.hibernate4.HibernateCallback;
|
import org.springframework.stereotype.Repository;
|
|
import com.qxueyou.scc.base.dao.BaseDAO;
|
import com.qxueyou.scc.base.model.Pager;
|
import com.qxueyou.scc.school.model.SchHandout;
|
|
|
@Repository(value="handoutDAO")
|
/**
|
* ×Ô¶¯×¢ÈësessionFactory »¥¶¯
|
*
|
* @author µËÖ¾ÓÀ
|
* @since JDK1.6
|
* @history 2015-01-07 µËÖ¾ÓÀ н¨
|
*/
|
public class HandoutDAO extends BaseDAO {
|
/**
|
* ²éѯ»¥¶¯Á·Ï°½á¹û,¼ÓÏÂÀºÍ·ÖÒ³
|
* @param hql
|
* @param args
|
* @return
|
*/
|
public List<SchHandout> schHandoutList(int type,final String hql, final Pager page, final List<Object> args) {
|
|
List<SchHandout> handoutLst = new ArrayList<SchHandout>(20);
|
SchHandout handout = null;
|
// ²éѯ½á¹û
|
List<Object[]> lst = this.findList(hql, page, args, Object[].class);
|
|
for (Object[] obj : lst) {
|
handout = new SchHandout();
|
handout = (SchHandout) obj[0];
|
if(type == 1){//½²ÒåÊÕ²Ø
|
handout.setTotalCount(handout.getPageCount());
|
handout.setPageCount(Integer.parseInt(String.valueOf(obj[1])));
|
}
|
handoutLst.add(handout);
|
}
|
return handoutLst;
|
}
|
|
|
/**
|
* ºǫ́Áбí²éѯ½²ÒåÊý¾Ý
|
* @param sql
|
* @param args
|
* @return
|
*/
|
@SuppressWarnings("unchecked")
|
public List<SchHandout> queryDataList(String sql,List<Object> args) {
|
// ²éѯ½á¹û
|
Session session = this.getSessionFactory().getCurrentSession();
|
SQLQuery query = session.createSQLQuery(sql).addEntity(SchHandout.class);
|
//query.setResultTransformer(Transformers.aliasToBean(SchHandout.class));
|
for(int i = 0;args !=null && i < args.size() ; i++ ){
|
query.setParameter(i, args.get(i));
|
}
|
List<SchHandout> lstHandouts = query.list();
|
|
return lstHandouts;
|
}
|
|
|
/**
|
* ͨ¹ý½²Òå¹Û¿´¼Ç¼²éѯ½²Òåʵ¼Ê¹Û¿´Á˵ÄÒ³Âë
|
* @param hql
|
* @param args
|
* @return
|
*/
|
@SuppressWarnings({ "unchecked"})
|
public List<String> schHandoutPageNum(final String hql, final List<Object> args) {
|
|
// ²éѯ½á¹û
|
List<Integer> lst = this.getHibernateTemplate().execute(new HibernateCallback<List<Integer>>() {
|
|
public List<Integer> doInHibernate(Session session) {
|
Query query = session.createSQLQuery(hql);
|
int i = 0;
|
for (Object arg : args) {
|
query.setParameter(i++, arg);
|
}
|
|
return query.list();
|
}
|
});
|
List<String> pageLst = new ArrayList<String>();
|
|
for (Integer obj : lst) {
|
if(null!=obj){
|
pageLst.add(String.valueOf(obj));
|
|
}
|
}
|
return pageLst;
|
}
|
|
}
|