/****************************************************************************** * 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 schHandoutList(int type,final String hql, final Pager page, final List args) { List handoutLst = new ArrayList(20); SchHandout handout = null; // ²éѯ½á¹û List 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 queryDataList(String sql,List 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 lstHandouts = query.list(); return lstHandouts; } /** * ͨ¹ý½²Òå¹Û¿´¼Ç¼²éѯ½²Òåʵ¼Ê¹Û¿´Á˵ÄÒ³Âë * @param hql * @param args * @return */ @SuppressWarnings({ "unchecked"}) public List schHandoutPageNum(final String hql, final List args) { // ²éѯ½á¹û List lst = this.getHibernateTemplate().execute(new HibernateCallback>() { public List doInHibernate(Session session) { Query query = session.createSQLQuery(hql); int i = 0; for (Object arg : args) { query.setParameter(i++, arg); } return query.list(); } }); List pageLst = new ArrayList(); for (Integer obj : lst) { if(null!=obj){ pageLst.add(String.valueOf(obj)); } } return pageLst; } }