万能Dao,应该说绝大多数情况下,它就能提供足够多的操作数据库的功能。
@Repository
public class UniversalDao extends BaseDao {
/**
*
* @param o 保存实体对象
* @return 主键
*/
public Serializable save(Object o) {
return this.getSession().save(o);
}
/**
* 新增或者更新
*
* @param o
*/
public void saveOrUpdate(Object o) {
this.getSession().saveOrUpdate(o);
}
/**
* 更新
*
* @param o
*/
public void update(Object o) {
this.getSession().update(o);
}
/**
* 更新
*
* @param o
*/
public void delete(Object o) {
this.getSession().delete(o);
}
/**
* 查询对象,利用上缓存,实际上调用load
*
* @param clazz
* @param id
* @return
*/
public Object get(Class<?> clazz, Serializable id) {
return this.getSession().get(clazz,id);
}
/**
* 加载对象
*
* @param clazz
* @param id
* @return
*/
public Object load(Class<?> clazz, Serializable id) {
return this.getSession().load(clazz,id);
}
/**
* 返回所以对象实例
*
* @param clazz
* @return
*/
public List<?> getAll(Class<?> clazz) {
return this.getBaseCriteria(clazz).list();
}
/**
* 删除
*
* @param clazz
* @param id
*/
public void delete(Class<?> clazz, Serializable id) {
this.getSession().delete(this.get(clazz, id));
}
/**
* 逐个删除,保证缓存与数据库的统一
*
* @param ids 主键值,
* @return
*/
public int deleteAll(Class<?> clazz, Serializable... ids) {
for (Serializable id : ids) {
delete(clazz, id);
}
return ids.length;
}
}
分享到:
相关推荐
标题中的“hibernate4 通用dao,service”指的是在Java开发中使用Hibernate框架实现的通用数据访问对象(DAO)和业务服务层(Service)。Hibernate是一个流行的对象关系映射(ORM)工具,它允许开发者使用面向对象的...
本篇文章将深入探讨Hibernate的通用Dao设计,帮助开发者理解如何利用Hibernate提高代码复用性和可维护性。 在传统的Java应用程序中,DAO(Data Access Object)层是用于封装数据库访问逻辑的地方,它隔离了业务逻辑...
**Hibernate原生通用DAO**是基于Hibernate框架设计的一种简化数据访问操作的方式,它模仿了Spring框架中的`HibernateTemplate`类,旨在提供一个简单易用的DAO(Data Access Object)层,方便开发人员进行数据库操作...
本资源“Hibernate_通用DAO模式”提供了一种适用于不同类型表单的DAO实现,基于SSH(Struts2、Spring、Hibernate)框架,特别强调简洁、易懂和高可移植性。 首先,SSH框架是Java Web开发中的经典组合,Struts2负责...
综上所述,Hibernate的通用DAO设计模式是提高开发效率、降低维护成本的有效手段,但需要注意适配项目需求,合理使用,以实现最佳的性能和可维护性。通过阅读给出的博客链接(https://lzkyo.iteye.com/blog/683285)...
spring集成hibernate通用dao,泛型,server都可以调用
标题中的“基于Hibernate的泛型Dao框架”是指在Java开发中使用Hibernate ORM工具,并结合泛型设计模式构建的数据库访问对象(DAO)框架。这样的框架旨在提高代码复用性,减少重复工作,使得数据访问层的实现更加简洁...
《深入浅出Hibernate通用DAO设计与实践》 在软件开发中,数据访问对象(DAO)是用于处理数据库操作的重要组件,它可以将业务逻辑与数据访问层进行解耦,提高代码的可复用性和可维护性。本文将围绕“Hibernate超级...
HibernateDao 通用HibernateDao 通用HibernateDao 通用HibernateDao 通用HibernateDao 通用HibernateDao 通用HibernateDao 通用HibernateDao 通用HibernateDao 通用HibernateDao 通用HibernateDao 通用HibernateDao ...
基于泛型的通用Dao接口和Hibernate的实现 基于泛型的通用Dao接口是指使用泛型来实现数据访问对象(DAO)的接口,主要是在使用 Hibernate 或 JPA 时使用。泛型可以使得DAO接口更灵活、更通用。 泛型Dao接口的优点:...
通用dao,简单全面,所有dao都可以继承这个dao.
**DAO(Data Access Object)模式**是软件设计模式中用于处理数据访问的一种方式,它将业务逻辑与数据访问层分离,提高代码的可重用性和可维护性。在Java领域,尤其是在企业级应用开发中,DAO模式常与ORM(Object-...
Hibernate通用DAO设计** 通用DAO是为了减少重复代码,提高代码复用性。通常包含以下方法: - `save(T entity)`: 保存实体对象。 - `update(T entity)`: 更新实体对象。 - `deleteById(ID id)`: 根据ID删除实体。 - ...
(基于hibernate)面向应用层按POJO类缓存hibernate的session对象.使用举例: DAO dao = DAOFactory.getDAO(POJO.class);//获得一个全局类单例的DAO实例 dao.save(pojo); 你也可以生成一个不被DAOFactory(工厂)...
【描述】"基于hibernate5 泛型Dao实例,下载后改一下数据库配置直接可以用",意味着这个压缩包文件提供了一个已经实现好的Hibernate5版本的泛型Dao示例项目。用户只需要根据自己的数据库环境修改相应的配置信息,就...
Haha.Hibernate SprintSideExt 通用HibernateDAO 文章资源 详见:http://blog.csdn.net/lijun7788/article/details/6658847
4. **对象状态管理**: Hibernate管理对象的瞬时、持久化、托管和脱管四种状态,确保数据的一致性。 5. **HQL与SQL的区别**: Hibernate查询语言(HQL)是面向对象的,而SQL是面向关系的。HQL可以直接操作对象,避免...
然而,为了提高代码的复用性和可维护性,通常会设计一个通用DAO(Data Access Object)层来处理基本的数据操作。"hibernate不是泛型的通用DAo1"这个标题暗示了我们讨论的是一种非泛型化的DAO实现,可能是因为开发者...
"hibernate 通用接口架构"是指利用Hibernate框架,通过设计DAO(Data Access Object)层的接口来实现业务逻辑与数据访问的解耦,从而提高代码的可复用性和可维护性。 首先,我们来理解DAO层的作用。DAO层作为业务...