/**
* @author Clay Zhong, zjclay@gmail.com
* @date Dec 16, 2008
*/
package com.clay.dao;
import java.io.Serializable;
import java.lang.reflect.ParameterizedType;
import java.util.List;
import org.hibernate.SessionFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
import org.springframework.stereotype.Repository;
@Repository
public class BaseDao<T, PK extends Serializable> extends HibernateDaoSupport {
@Autowired
public void setMySessionFactory(SessionFactory sessionFactory) {
super.setSessionFactory(sessionFactory);
}
@SuppressWarnings("unchecked")
public T get(PK id) {
return (T) getHibernateTemplate().get(
(Class) ((ParameterizedType) getClass().getGenericSuperclass())
.getActualTypeArguments()[0], id);
}
@SuppressWarnings("unchecked")
public T load(PK id) {
return (T) getHibernateTemplate().load(
(Class) ((ParameterizedType) getClass().getGenericSuperclass())
.getActualTypeArguments()[0], id);
}
public void delete(PK id) {
getHibernateTemplate().delete(get(id));
}
public void delete(T entity) {
getHibernateTemplate().delete(entity);
}
public void save(T entity) {
getHibernateTemplate().save(entity);
}
public void update(T entity) {
getHibernateTemplate().update(entity);
}
public void saveOrUpdate(T entity) {
getHibernateTemplate().saveOrUpdate(entity);
}
@SuppressWarnings("unchecked")
public List<T> list() {
return getHibernateTemplate().loadAll(
(Class) ((ParameterizedType) getClass().getGenericSuperclass())
.getActualTypeArguments()[0]);
}
}
分享到:
相关推荐
通用dao,简单全面,所有dao都可以继承这个dao.
简单的hibernate通用dao,包括基本的CRUD.hibernate版本为3版本.
spring集成hibernate通用dao,泛型,server都可以调用
NULL 博文链接:https://azure2a.iteye.com/blog/1128097
HibernateDao 通用HibernateDao 通用HibernateDao 通用HibernateDao 通用HibernateDao 通用HibernateDao 通用HibernateDao 通用HibernateDao 通用HibernateDao 通用HibernateDao 通用HibernateDao 通用HibernateDao ...
这个是不同类型的表单通用的dao模式,简洁明了,注释清楚,可移植性很强
NULL 博文链接:https://peak1992.iteye.com/blog/2356992
自己写的一个通用的hibernate的DAO,包含增、删、改、查、多条件模糊查询等等的功能。不管你有多少个业务模块都可以调用。
[保证可用] 仿照Spring中HibernateTemplate方法实现的简易DAO [原文链接] http://www.cnblogs.com/yzxk/p/4924287.html
DAo.hibernate3不是泛型的通用DAo我在网上找了好多都是泛型的,需要继承才能用,本人比较懒,找了好久才找到了这么个,不需要继承可以直接用的hibernate dao
NULL 博文链接:https://lzkyo.iteye.com/blog/683285
Haha.Hibernate SprintSideExt 通用HibernateDAO 文章资源 详见:http://blog.csdn.net/lijun7788/article/details/6658847
Java源代码 一个简单的通用DAO实现 (基于hibernate)面向应用层按POJO类缓存hibernate的session对象.使用举例: DAO dao = DAOFactory.getDAO(POJO.class);//获得一个全局类单例的DAO实例 dao.save(pojo); 你也可以...
使用hibernate框架,面向接口进行dao层的设计,是通用的底层架构.
NULL 博文链接:https://dr-yanglong.iteye.com/blog/2009075
一个通用的Hibernate DAO txt
基于泛型的通用Dao接口和hibernate的实现
Struts2 Spring3 Hibernate 注解功能 DAO 泛型 通用分页
自己写的一个JDBC通用DAO 有几点需要注意: 1.数据库命明目前只支持没下血杠命名(_) 2.表ID字段名取名有2种方式 (1)ID (2)TableName + ID 例如:user表 则取名为 id 或者 userid 因为没有用xml来映射表结构确定哪一个...