`
lxiaodao
  • 浏览: 120728 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

基于hibernate的通用、”万能“Dao的设计(四)

阅读更多
万能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

    标题中的“hibernate4 通用dao,service”指的是在Java开发中使用Hibernate框架实现的通用数据访问对象(DAO)和业务服务层(Service)。Hibernate是一个流行的对象关系映射(ORM)工具,它允许开发者使用面向对象的...

    Hibernate通用Dao设计。

    本篇文章将深入探讨Hibernate的通用Dao设计,帮助开发者理解如何利用Hibernate提高代码复用性和可维护性。 在传统的Java应用程序中,DAO(Data Access Object)层是用于封装数据库访问逻辑的地方,它隔离了业务逻辑...

    Hibernate 原生通用DAO

    **Hibernate原生通用DAO**是基于Hibernate框架设计的一种简化数据访问操作的方式,它模仿了Spring框架中的`HibernateTemplate`类,旨在提供一个简单易用的DAO(Data Access Object)层,方便开发人员进行数据库操作...

    Hibernate_通用DAO模式,一个写好的dao层

    本资源“Hibernate_通用DAO模式”提供了一种适用于不同类型表单的DAO实现,基于SSH(Struts2、Spring、Hibernate)框架,特别强调简洁、易懂和高可移植性。 首先,SSH框架是Java Web开发中的经典组合,Struts2负责...

    Hibernate的通用dao

    综上所述,Hibernate的通用DAO设计模式是提高开发效率、降低维护成本的有效手段,但需要注意适配项目需求,合理使用,以实现最佳的性能和可维护性。通过阅读给出的博客链接(https://lzkyo.iteye.com/blog/683285)...

    hibernate spring通用dao

    spring集成hibernate通用dao,泛型,server都可以调用

    基于hibernate的泛型Dao框架

    标题中的“基于Hibernate的泛型Dao框架”是指在Java开发中使用Hibernate ORM工具,并结合泛型设计模式构建的数据库访问对象(DAO)框架。这样的框架旨在提高代码复用性,减少重复工作,使得数据访问层的实现更加简洁...

    本人写的Hibernate超级通用DAO

    《深入浅出Hibernate通用DAO设计与实践》 在软件开发中,数据访问对象(DAO)是用于处理数据库操作的重要组件,它可以将业务逻辑与数据访问层进行解耦,提高代码的可复用性和可维护性。本文将围绕“Hibernate超级...

    HibernateDao 通用

    HibernateDao 通用HibernateDao 通用HibernateDao 通用HibernateDao 通用HibernateDao 通用HibernateDao 通用HibernateDao 通用HibernateDao 通用HibernateDao 通用HibernateDao 通用HibernateDao 通用HibernateDao ...

    基于泛型的通用Dao接口和hibernate的实现

    基于泛型的通用Dao接口和Hibernate的实现 基于泛型的通用Dao接口是指使用泛型来实现数据访问对象(DAO)的接口,主要是在使用 Hibernate 或 JPA 时使用。泛型可以使得DAO接口更灵活、更通用。 泛型Dao接口的优点:...

    Hibernate通用Dao

    通用dao,简单全面,所有dao都可以继承这个dao.

    Hibernate中的DAO模式

    **DAO(Data Access Object)模式**是软件设计模式中用于处理数据访问的一种方式,它将业务逻辑与数据访问层分离,提高代码的可重用性和可维护性。在Java领域,尤其是在企业级应用开发中,DAO模式常与ORM(Object-...

    hibernate通用dao

    Hibernate通用DAO设计** 通用DAO是为了减少重复代码,提高代码复用性。通常包含以下方法: - `save(T entity)`: 保存实体对象。 - `update(T entity)`: 更新实体对象。 - `deleteById(ID id)`: 根据ID删除实体。 - ...

    Java源代码一个简单的通用DAO实现(基于hibernate)

    (基于hibernate)面向应用层按POJO类缓存hibernate的session对象.使用举例: DAO dao = DAOFactory.getDAO(POJO.class);//获得一个全局类单例的DAO实例 dao.save(pojo); 你也可以生成一个不被DAOFactory(工厂)...

    Hibernate泛型Dao

    【描述】"基于hibernate5 泛型Dao实例,下载后改一下数据库配置直接可以用",意味着这个压缩包文件提供了一个已经实现好的Hibernate5版本的泛型Dao示例项目。用户只需要根据自己的数据库环境修改相应的配置信息,就...

    Haha.Hibernate SprintSideExt 通用HibernateDAO

    Haha.Hibernate SprintSideExt 通用HibernateDAO 文章资源 详见:http://blog.csdn.net/lijun7788/article/details/6658847

    基于hibernate的简单留言本

    4. **对象状态管理**: Hibernate管理对象的瞬时、持久化、托管和脱管四种状态,确保数据的一致性。 5. **HQL与SQL的区别**: Hibernate查询语言(HQL)是面向对象的,而SQL是面向关系的。HQL可以直接操作对象,避免...

    hibernate不是泛型的通用DAo1

    然而,为了提高代码的复用性和可维护性,通常会设计一个通用DAO(Data Access Object)层来处理基本的数据操作。"hibernate不是泛型的通用DAo1"这个标题暗示了我们讨论的是一种非泛型化的DAO实现,可能是因为开发者...

    hibernate 通用接口架构

    "hibernate 通用接口架构"是指利用Hibernate框架,通过设计DAO(Data Access Object)层的接口来实现业务逻辑与数据访问的解耦,从而提高代码的可复用性和可维护性。 首先,我们来理解DAO层的作用。DAO层作为业务...

Global site tag (gtag.js) - Google Analytics