通用泛型Dao
/**
* 封装通用的DAO(Data Access Object)类,处理常用的CRUD操作。
* 对于简单操作,建议扩展此类使用,如:UserDao extends GenericDao<User, Long>
* <br/>
*
* @param <T>
* 域对象类型
* @param <PK>
* 主键类型
*
* @author lxiaodao 不再继承 HibernateDaoSupport,自动注入sessionfacroty。
* 2009-06-05移除操作多个对象的方法,提供直接new的能力。但是建议不要自己new。
*
*
*/
@SuppressWarnings("unchecked")
public class GenericDao<T, PK extends Serializable> extends BaseDao {
/**
* 用于扩展的DAO子类使用的构造函数.
*
* 通过子类的泛型定义取得对象类型Class. eg. public class UserDao extends GenericDao<User,
* Long>
*
*/
public GenericDao() {
this.entityClass = ReflectionUtils.getSuperClassGenricType(getClass());
}
/**
* 用于Service层直接使用GenericDao的构造函数. 不再提倡在service注入sessionFactory,再注入给dao接口。
* eg. GenericDao<User, Long> userDao = new GenericDao<User,
* Long>(User.class);
*
*/
public GenericDao(SessionFactory sessionFactory, Class<T> entityClass) {
super(sessionFactory);
this.entityClass = entityClass;
}
// -------------------------------------------------------------------
// 简单操作数据库方法
// --------------------------------------------------------------------
/**
* 查询所有对象实体数据
*/
public List<T> getAll() {
return getBaseCriteria().list();
}
/**
* 根据主键查询实体
*
* @param id
* @return
*/
public T get(final Serializable id) {
return (T) this.getSession().get(entityClass, id);
}
public T load(final Serializable id) {
return (T) this.getSession().load(entityClass, id);
}
}
分享到:
相关推荐
为什么我们要使用通用DAO接口呢,因为我们的数据库操作无非是增删改查,CRUD操作,我们不需要为每个实体去编写一个dao接口,对于相似的实体操作可以只编写一个通用接口,然后采用不同的实现! DAO已经成为持久层...
通用道在 JPA/HIbernate/Spring 环境中使用泛型提供 DAO API,因此它可以与此类架构中的任何 Hibernate POJO 一起使用,而无需为每个域类创建专用的数据访问接口。 Maven 依赖项: <dependency> <groupId>org....
剥离出来的泛型Hibernate 博文链接:https://jhaij.iteye.com/blog/543892
本GenericDAO由我本人开发出来的,欢迎大家前来下载使用...
泛型dao接口 :GenericDao, ID extends Serializable> 泛型作为DAO的通用接口 CRUD方法 dao接口 : PersonDAO extends GenericDao, Integer> 可以不写代码,方法已经在父类泛型dao里了,这里为了说明:可扩展添加 ...
泛型dao接口 :GenericDao, ID extends Serializable> 泛型作为DAO的通用接口 CRUD方法 dao接口 : PersonDAO extends GenericDao, Integer> 可以不写代码,方法已经在父类泛型dao里了,这里为了说明:可扩展添加 ...
示例-java-spring-genericdao 这是一个使用 Spring 4.1 MVC、Core、Security、Generic DAO over Hibernate 4 的示例。目标是展示一个使用 Spring 与 Hibernate 集成的安全 MVC 应用程序,并使用 Generic DAO 框架...
方便你使用的abstract类,继承起来非常方便
NetBeans IDE 8.0.2 GlassFish Server 4.1 Java EE 7 Web JavaServer Faces 2.2Hibernate4.3.1 PostgreSQL 9.4 Primefaces 5.0在此示例中,将展示以下架构: DAO GenericDAO Singleton,用于访问Hibernate POJO的...
实测可用
实测可用
实测可用
实测可用
实测可用
实测可用
实测可用
实测可用
实测可用
实测可用
实测可用