package com.xg.ssh2.dao.impl; import java.io.Serializable; import java.lang.reflect.ParameterizedType; import java.lang.reflect.Type; import java.util.Collection; import org.hibernate.criterion.DetachedCriteria; import org.springframework.orm.hibernate3.support.HibernateDaoSupport; import com.xg.ssh2.dao.IBaseDao; /** * 基础DAO实现类 实现基本CRUD等功能 * * @author xg * @version 1.0 * @date 2012-12-29 * @param <T> */ public class BaseDaoImpl<T extends Serializable> extends HibernateDaoSupport implements IBaseDao<T> { /** * 泛型的具体类型 */ protected Class<T> entityClass; public BaseDaoImpl() { // 根据实例类自动获取实体类类型 this.entityClass = null; Class c = getClass(); Type t = c.getGenericSuperclass(); if (t instanceof ParameterizedType) { Type[] p = ((ParameterizedType) t).getActualTypeArguments(); this.entityClass = (Class<T>) p[0]; } } @Override public void delete(T entity) { getHibernateTemplate().delete(entity); } @Override public T get(Serializable id) { if (id != null) { return (T) getHibernateTemplate().get(entityClass, id); } return null; } @Override public Collection<T> queryAll() { DetachedCriteria detached = DetachedCriteria.forClass(entityClass); return this.getHibernateTemplate().findByCriteria(detached); } @Override public void save(T entity) { getHibernateTemplate().save(entity); } @Override public void update(T entity) { getHibernateTemplate().update(entity); } }
最近下载更多
and123456 LV11
2021年4月20日
wob_ku LV6
2020年7月25日
576995704 LV1
2020年6月17日
xuchi123 LV7
2020年5月2日
wangzile1994 LV12
2020年3月30日
半三文 LV7
2020年2月4日
123hdhdhd LV10
2019年12月1日
lwp011 LV27
2019年9月6日
1412321161 LV4
2019年7月1日
kerolalala LV2
2019年6月3日
最近浏览更多
yut1an LV2
2022年10月31日
张大大的账号 LV2
2022年4月26日
dukie123 LV1
2022年2月13日
1798139161 LV4
2022年2月7日
yexiansheng LV1
2021年11月6日
qweqweqwe7987987 LV1
2021年6月22日
and123456 LV11
2021年4月20日
ming_123_9715 LV23
2021年4月5日
0592lyj LV9
2021年1月4日
w2919678982 LV1
2020年12月25日