亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? genericdao.java

?? Struts2+Spring2+Hibernate3實現簡單的整合
?? JAVA
字號:
/** 
 *
 * @author <a href="mailto:flustar2008@163.com">flustar</a>
 * @version 1.0 
 * Creation date: Dec 23, 2007 11:23:56 PM
 */
package com.firstssh.common.dao;

import java.io.Serializable;
import java.lang.reflect.ParameterizedType;
import java.sql.SQLException;
import java.util.Collection;
import java.util.List;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.hibernate.Criteria;
import org.hibernate.HibernateException;
import org.hibernate.LockMode;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.criterion.DetachedCriteria;
import org.hibernate.criterion.Projections;
import org.springframework.dao.DataAccessException;
import org.springframework.orm.hibernate3.HibernateCallback;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
import com.firstssh.common.util.PaginationSupport;

@SuppressWarnings("unchecked")
public class GenericDao<T, ID extends Serializable> extends HibernateDaoSupport
		implements IGenericDao<T, ID> {
	private Log logger = LogFactory.getLog(getClass());

	protected Class<T> entityClass;

	public GenericDao() {

	}

	protected Class getEntityClass() {
		if (entityClass == null) {
			entityClass = (Class<T>) ((ParameterizedType) getClass()
					.getGenericSuperclass()).getActualTypeArguments()[0];
			logger.debug("T class = " + entityClass.getName());
		}
		return entityClass;
	}

	public void saveOrUpdate(T t) throws DataAccessException {
		this.getHibernateTemplate().saveOrUpdate(t);
	}

	public T load(ID id) throws DataAccessException {
		T load = (T) getHibernateTemplate().load(getEntityClass(), id);
		return load;
	}

	public T get(ID id) throws DataAccessException {
		T load = (T) getHibernateTemplate().get(getEntityClass(), id);
		return load;
	}

	public boolean contains(T t) throws DataAccessException {
		return getHibernateTemplate().contains(t);
	}

	public void delete(T t, LockMode lockMode) throws DataAccessException {
		getHibernateTemplate().delete(t, lockMode);
	}

	public void delete(T t) throws DataAccessException {
		getHibernateTemplate().delete(t);
	}

	public void deleteAll(Collection<T> entities) throws DataAccessException {
		getHibernateTemplate().deleteAll(entities);
	}

	public List<T> find(String queryString, Object value)
			throws DataAccessException {
		List<T> find = (List<T>) getHibernateTemplate()
				.find(queryString, value);
		return find;
	}

	public List<T> find(String queryString, Object[] values)
			throws DataAccessException {
		List<T> find = (List<T>) getHibernateTemplate().find(queryString,
				values);
		return find;
	}

	public List<T> find(String queryString) throws DataAccessException {
		return (List<T>) getHibernateTemplate().find(queryString);
	}

	public void refresh(T t, LockMode lockMode) throws DataAccessException {
		getHibernateTemplate().refresh(t, lockMode);
	}

	public void refresh(T t) throws DataAccessException {
		getHibernateTemplate().refresh(t);
	}

	public Serializable save(T t) throws DataAccessException {
		return getHibernateTemplate().save(t);
	}

	public void saveOrUpdateAll(Collection<T> entities)
			throws DataAccessException {
		getHibernateTemplate().saveOrUpdateAll(entities);
	}

	public void update(T t, LockMode lockMode) throws DataAccessException {
		getHibernateTemplate().update(t, lockMode);
	}

	public void update(T t) throws DataAccessException {
		getHibernateTemplate().update(t);
	}


	public List<T> list() throws DataAccessException {
		return getHibernateTemplate().loadAll(getEntityClass());

	}

	public List<T> findByNamedQuery(String queryName)
			throws DataAccessException {
		return getHibernateTemplate().findByNamedQuery(queryName);
	}

	public List<T> findByNamedQuery(String queryName, Object value)
			throws DataAccessException {
		return getHibernateTemplate().findByNamedQuery(queryName, value);
	}

	public List<T> findByNamedQuery(String queryName, Object[] values)
			throws DataAccessException {
		return getHibernateTemplate().findByNamedQuery(queryName, values);
	}

	public PaginationSupport findPageByCriteria(
			final DetachedCriteria detachedCriteria, final int pageSize,
			final int startIndex) {
		return (PaginationSupport) getHibernateTemplate().execute(
				new HibernateCallback() {
					public Object doInHibernate(Session session)
							throws HibernateException {
						Criteria criteria = detachedCriteria
								.getExecutableCriteria(session);
						int totalCount = ((Integer) criteria.setProjection(
								Projections.rowCount()).uniqueResult())
								.intValue();
						criteria.setProjection(null);
						List items = criteria.setFirstResult(startIndex)
								.setMaxResults(pageSize).list();
						PaginationSupport ps = new PaginationSupport(items,
								totalCount, pageSize, startIndex);
						return ps;
					}
				}, true);
	}

	public  PaginationSupport findPageByQuery( final  String hql, final String countHql,final int pageSize,final int startIndex){ 
	     return (PaginationSupport)getHibernateTemplate().execute( 
	     new  HibernateCallback() { 
	       public  Object doInHibernate(Session session)  throws  HibernateException, SQLException { 
	    	   int totalCount=((Integer) session.createQuery(countHql).iterate().next()).intValue(); 
	    	   Query query  =  session.createQuery(hql);
	             query.setFirstResult(startIndex); 
	             query.setMaxResults(pageSize); 
	             List items  = query.list();
	          PaginationSupport ps = new PaginationSupport(items,
	       totalCount, pageSize, startIndex);
	          return ps;
	             
	             } 
	       },true); 
	  }

}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一区二区三区欧美| 久久综合色综合88| 亚洲国产精品人人做人人爽| 国产99久久久精品| 国产精品无遮挡| av电影一区二区| 亚洲欧美欧美一区二区三区| 99麻豆久久久国产精品免费 | 欧美精品在线视频| 亚洲图片自拍偷拍| 欧美一区二区国产| 99视频在线精品| 精品一区二区久久| 一区二区三区精密机械公司| 91精品国产综合久久久蜜臀粉嫩| 黄色资源网久久资源365| 亚洲色图视频免费播放| 久久嫩草精品久久久精品| 欧美优质美女网站| 国产成人在线网站| 久久99精品国产.久久久久久| 国产精品久久久久一区二区三区共| 欧美日韩国产影片| 色狠狠一区二区三区香蕉| 国产精品一区二区你懂的| 日韩国产精品久久| 日韩精品一二三区| 青青草成人在线观看| 午夜视频一区二区| 亚洲精品免费在线观看| 亚洲人成精品久久久久| 亚洲视频一区在线| 亚洲欧美电影院| 亚洲激情图片qvod| 三级在线观看一区二区| 日本美女一区二区三区视频| 亚洲国产视频一区| 日韩精品久久久久久| 亚洲资源在线观看| 日本不卡一区二区| 六月丁香综合在线视频| 国产精品亚洲第一| av在线这里只有精品| 欧美性大战久久久久久久| 欧美另类videos死尸| 26uuu久久天堂性欧美| 国产人久久人人人人爽| 一区二区三区在线观看视频| 亚洲成人动漫av| 国产精品资源在线| 91国产福利在线| 久久夜色精品国产欧美乱极品| 欧美成人国产一区二区| 国产精品国产三级国产专播品爱网| 亚洲日穴在线视频| 久色婷婷小香蕉久久| 91麻豆精品视频| 国产亚洲va综合人人澡精品| 一区二区三国产精华液| 国产成人综合在线观看| 91在线国产福利| 欧美激情一区在线观看| 日韩影院免费视频| 欧美日韩不卡在线| 亚洲自拍欧美精品| 日本道色综合久久| 国产精品国产精品国产专区不蜜| 精品一区二区在线观看| 欧美三级日韩三级| 婷婷综合久久一区二区三区| 色综合久久久久| 一区二区三区在线视频免费 | 亚洲aaa精品| 色综合久久中文综合久久牛| 久久精品无码一区二区三区| 麻豆国产精品一区二区三区 | 色综合久久66| 夜夜精品视频一区二区| 在线观看国产一区二区| 亚洲已满18点击进入久久| 欧美精品一二三| 麻豆精品视频在线| 久久久不卡影院| 99久久久国产精品| 亚洲一区二区欧美| 日韩一卡二卡三卡国产欧美| 精品亚洲国产成人av制服丝袜| 久久精品免视看| 色狠狠桃花综合| 精品中文字幕一区二区| 国产精品久久久久久久岛一牛影视| 99国产精品视频免费观看| 日本在线播放一区二区三区| 日本一区二区视频在线观看| 在线观看日韩毛片| 不卡区在线中文字幕| 欧美aaaaaa午夜精品| 综合久久国产九一剧情麻豆| 欧美一级二级三级乱码| 懂色av噜噜一区二区三区av| 亚洲成人午夜影院| 国产精品超碰97尤物18| 久久久午夜电影| 日韩欧美国产三级电影视频| 91视频91自| youjizz久久| 国产一区高清在线| 久久精品国产免费| 日本不卡的三区四区五区| 中文字幕日本乱码精品影院| 国产亚洲一区二区三区在线观看 | 婷婷六月综合亚洲| 自拍偷拍亚洲激情| 国产人成亚洲第一网站在线播放| 欧美日韩精品一区二区天天拍小说 | 日韩午夜电影av| 欧美狂野另类xxxxoooo| 精品视频在线免费看| 欧美在线观看一区| 欧美一区二区网站| 久久久久久毛片| 国产精品毛片久久久久久| 国产精品久99| 三级在线观看一区二区| 国产尤物一区二区在线| 99视频精品在线| 欧美日韩在线三级| 久久久夜色精品亚洲| 国产精品乱码久久久久久| 亚洲成a人片在线不卡一二三区| 天天做天天摸天天爽国产一区| 蜜臀av一区二区| aaa国产一区| 日韩女优电影在线观看| 欧美国产精品一区二区三区| 一区二区三区.www| 成人少妇影院yyyy| 91精品国产品国语在线不卡| 久久久久久久久久久久久久久99 | 久久精品国产精品亚洲红杏| 成人黄色电影在线| 欧美哺乳videos| 午夜精品在线视频一区| 成av人片一区二区| 国产精品久久久久影视| 成人影视亚洲图片在线| 精品处破学生在线二十三| 日日骚欧美日韩| 欧美色图12p| 一区二区在线观看免费 | 久久电影网电视剧免费观看| 91久久一区二区| 亚洲男同性视频| 欧洲精品在线观看| 综合亚洲深深色噜噜狠狠网站| av午夜精品一区二区三区| 国产精品初高中害羞小美女文| 成人高清伦理免费影院在线观看| 2欧美一区二区三区在线观看视频| 精品在线观看视频| 国产日韩一级二级三级| 国产老妇另类xxxxx| 国产精品欧美综合在线| 成人免费av网站| 亚洲欧洲中文日韩久久av乱码| 95精品视频在线| 偷偷要91色婷婷| 国产欧美一区二区三区在线老狼| 国产成人在线观看| 2020国产精品自拍| 成人动漫一区二区| 五月婷婷另类国产| 久久久另类综合| 欧美怡红院视频| 国产一区二区三区观看| 亚洲色图欧洲色图| www国产成人| 欧美天天综合网| 丁香一区二区三区| 偷拍日韩校园综合在线| 中文字幕一区二区不卡| 在线不卡a资源高清| 成人永久aaa| 国产91对白在线观看九色| 日韩国产在线观看一区| 亚洲欧洲日韩在线| 精品欧美久久久| 欧美人动与zoxxxx乱| eeuss鲁片一区二区三区在线观看 eeuss鲁片一区二区三区在线看 | 日韩精品在线一区二区| 欧美亚洲国产一区在线观看网站| 国产剧情一区在线| 美腿丝袜亚洲三区| 日韩国产在线一| 日韩不卡一区二区| 日韩成人一区二区三区在线观看| 亚洲欧美在线高清| 亚洲蜜臀av乱码久久精品| 中文欧美字幕免费| 国产精品免费丝袜|