`
liss
  • 浏览: 842338 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

DAO模式最佳实践

阅读更多

        DAO看似是一个非常简单的模式,但这个模式却十分重要,它可以帮助我们实现持久化逻辑和业务逻辑的分离;它可以帮助我们实现对多种持久化实现的支持。
        同时,DAO模式并没有看起来这么简单,要真正发挥它的威力需注意的方面很多,而这些方面常常被大家忽略,以下是本人总结的一些最佳实践。
1 不要在DAO上控制事务的边界
应该在Façade层控制事务的边界,这样可以提高DAO的复用性,使它适用于不同的事务策略。
2 不要过分使用Checked Exception
开发者常常会将DAO中的各种异常通通捕捉并通过Checked Exception抛出,其实这是中不好的习惯,因为DAO中发生的异常常常是不可恢复的(如:数据库连接问题等),既然如此就应该使用RuntimeException异常抛出,使用这种异常还有一个好处就是在CMP的情况下可以自动引发事务的回滚。
3 不要在DAO中处理懒加载问题
使用Hibernate就会经常遇到懒加载问题,但是这个问题不应该在DAO中解决,这样会影响DAO的复用性,应为要加载那些对象域往往是和界面相关的,这个问题应该在Façade层中解决,应为这是离表现层较近的一层。


http://dev2dev.bea.com.cn/blog/chaocai/200806/dao_24_1070.html

蔡超
软件架构师
软件架构顾问
SCEA
IBM Certified Solution Designer for OOA&D vUML2
Chaocai2001@yahoo.com.cn

分享到:
评论

相关推荐

    工厂模式dao模式操作数据库小例子

    总的来说,工厂模式和DAO模式的结合使用能够提高代码的可读性、可扩展性和可维护性,是Java开发中处理数据库操作的重要实践。通过这个小例子,初学者可以深入理解这两种模式的精髓,并将其应用到实际项目中。

    工厂模式与DAO模式

    工厂模式是创建型设计模式,它提供了一种创建对象的最佳方式,而DAO模式则是一种数据访问模式,主要用于数据库操作的封装。 **工厂模式** 工厂模式的核心思想是“封装变化”。它将对象的创建过程抽象化,通过一个...

    DAO模式设计

    - `泛型DAO设计.doc`:可能探讨了泛型DAO的多种设计策略和最佳实践。 - `泛型dao的实现.doc`:可能详细描述了创建泛型DAO的具体步骤,包括如何处理CRUD(Create, Read, Update, Delete)操作。 - `使用AOP实现类型...

    工厂模式很DAO模式实现购物车

    本项目“工厂模式很DAO模式实现购物车”是使用Java语言实现的一个购物车系统,旨在帮助初学者理解并运用这两种设计模式。 首先,我们来看**工厂模式**。工厂模式是一种创建型设计模式,它提供了一种创建对象的最佳...

    Chapter08DAO模式_javadao_

    9. **最佳实践** - 将SQL语句写在配置文件中,便于维护和调整。 - 避免硬编码数据库相关的信息,如URL、用户名和密码。 - 使用预编译的PreparedStatement以防止SQL注入攻击。 - 使用DAO工厂模式创建DAO实例,以...

    基于DAO设计模式的新闻发布系统

    DAO(Data Access Object)设计模式是一种在软件工程中用于封装对数据库访问的模式,它将业务逻辑和数据访问逻辑分离,提高代码的可...整个系统的设计充分体现了软件工程中的最佳实践,保证了系统的稳定性和可扩展性。

    J2EE核心模式之DAO(简体中文)

    **Java企业级应用开发中的DAO模式** 在Java企业级应用开发中,DAO(Data Access Object)模式是一种常用的设计模式,它的主要目的是为了分离业务逻辑层和数据访问层,以提高代码的可重用性、可维护性和解耦。在...

    orm工具策略和最佳实践源代码

    DAO模式是一种常见的软件设计模式,用于封装对数据库的访问,使得业务逻辑与数据存储细节分离。在Hibernate中,DAO类通常包含了一组方法,如CRUD(创建、读取、更新、删除)操作,这些方法通过调用Hibernate API来...

    廖雪峰 Spring 2.0 核心技术与最佳实践 高清扫描版

    最后,最佳实践部分将分享一些在实际项目中如何有效地运用Spring 2.0的建议,包括设计模式的应用、性能优化以及代码组织等。 通过阅读《Spring 2.0 核心技术与最佳实践》,读者不仅能够掌握Spring框架的核心功能,...

    基于DAO设计模式的验证登陆系统

    DAO模式提供了一种抽象,使得应用代码无需直接与数据库或其他持久化机制交互,而是通过调用DAO接口的方法来完成数据操作。这种模式有助于提高代码的可测试性、可维护性和灵活性。 在这个基于DAO设计模式的验证登录...

    Don’t repeat the DAO!

    1. **DAO模式概念**:DAO模式是一种设计模式,它定义了一个接口,用于封装对底层数据存储的访问,使得业务逻辑层可以与数据存储层分离。这样,即使数据存储方式改变,业务逻辑层也不需要修改。 2. **使用场景**:当...

    Factory(DAO).rar_Factory DAO_dao_dao facto_factory

    在IT行业中,设计模式是软件开发中的一种最佳实践,它为解决常见的编程问题提供了一种标准的方法。工厂模式是设计模式中的一种简单但至关重要的模式,尤其在Java开发中广泛运用。本文将深入探讨工厂模式及其在DAO...

    Struts+DAO+工厂模式+委托模式+值对象模式

    **工厂模式** 是创建型设计模式之一,它提供了一种创建对象的最佳方式。在工厂模式中,我们创建一个负责创建对象的类(工厂类),而不是直接实例化对象。这样做的好处是可以在不修改客户端代码的情况下,更换或扩展...

    DAO设计模式

    DAO(Data Access Object)设计模式是软件开发中用于处理数据访问的一种常见模式,尤其是在Java应用程序中...在实际项目中,结合其他设计模式和最佳实践,如工厂模式、单例模式以及依赖注入,可以进一步优化DAO的实现。

    java mysql 三层模型 DAO模式 汽车租赁系统

    Java MySQL 三层模型和DAO模式在汽车租赁系统中的应用 汽车租赁系统是一个常见的企业级应用程序,它使用Java作为主要的编程语言,结合...在实际项目中,还应遵循最佳实践,进行持续集成和测试,以确保系统的稳定运行。

    JSP_javabean_DAO_面向接口编程_工程模式.rar

    DAO模式通过将数据操作与业务逻辑分离,提高了代码的可读性和可维护性。在这个项目中,DAO将被用来实现对数据库的增删改查操作,为Web应用提供数据服务。 面向接口编程是一种编程范式,它强调程序应依赖于抽象而非...

    DAO_ACCESS.rar_access dao_access使用DAO_com.dao.dao_dao access

    7. **最佳实践**:在实际开发中,还需要注意以下几点: - **事务管理**:对于涉及多条数据库操作的业务,应考虑事务处理,确保数据的一致性。 - **异常处理**:捕获并处理可能出现的数据库异常,提供合适的错误...

    JSP+DAOD的设计模式,完全体现了业务层与数据层,显示层的关系

    在IT行业中,设计模式是一种被广泛采用的最佳实践,它提供了在特定情况下解决软件设计问题的模板。"JSP+DAOD"(DAO设计模式)是Web应用开发中常见的一种架构模式,主要用于分离业务逻辑、数据访问逻辑和用户界面。...

    DAO.rar_dao

    10. **最佳实践**:避免硬编码SQL语句,使用预编译的PreparedStatement以防止SQL注入;考虑使用存储过程来封装复杂的数据库操作;对于大数据量操作,注意分页和批量处理。 通过以上这些知识点的学习和实践,开发者...

Global site tag (gtag.js) - Google Analytics