`

DAO模式的异常的处理

阅读更多


  DAO执行的是数据库访问操作,可能抛出底层的SQLException,而底层的通常不应该暴露给客户端,DAO应该负责捕捉这些底层的异常,而不应该把数据库访问殿堂拆散到业务逻辑层,让业务逻辑层处理数据库异常.关于DAO对象的异常处理,通常推荐如下:

1、DAO方法应该抛出有意义的业务逻辑异常.

2、DAO方法不应该抛出java.lang.Exception异常,这一个异常太大了,业务层很难准确地捕捉到这一个异常。

3、DAO不应该抛出数据访问异常,如SQLException。数据库访问异常是底层异常,不应该扩散到业务层,DAO应用封装数据库访问异常,然后抛出封装后的异常。

4、DAO接口中的方法,只抛出业务层期望处理的checked异常。如果业务层没有合适的异常处理,考虑抛出运行时异常。

5、捕捉底层数据库访问异常,然后抛出新的业务层异常。

6、为DAO类编写异常类,用于包装数据库访问异常。
  对于传统的DAO类和基于spring的DAO类,发现基于spring的DAO实现的方法都没有抛出checked异常,而传统的DAO类则抛出了Exception异常。

分享到:
评论

相关推荐

    DAO设计模式 DAO 设计模式 JAVA设计模式

    6. **异常处理**:DAO实现类通常会捕获并封装数据库操作中可能抛出的异常,然后转换为应用程序级别的异常,以便上层业务逻辑更好地处理错误。 DAO设计模式的优点: 1. **解耦**:DAO模式将数据访问代码与业务逻辑...

    使用Spring实现DAO模式

    - **异常处理**:Spring框架提供了一套异常体系,可以将具体的数据库异常转换为通用的、更具描述性的异常,简化错误处理过程。 - **依赖注入**:Spring的依赖注入(DI)机制使得DAO对象的创建和管理更加灵活。通过...

    初步认识JAVA DAO设计模式

    5. **异常处理**:DAO实现类应该适当地抛出和捕获异常,以便于上层业务组件能够处理数据访问过程中可能出现的问题。 6. **数据源管理**:DAO通常需要连接池来管理数据库连接,以提高系统的性能和资源利用率。 通过...

    JAVA DAO模式浅析.pdf

    5. **异常处理**:DAO类应封装数据库操作可能抛出的异常,转化为业务友好的异常类型,减少上层代码的异常处理负担。 通过上述方式,DAO模式不仅实现了业务逻辑与数据访问的分离,还提高了代码的可重用性和可扩展性...

    Mvc+DAO模式例子

    在给定的"Mvc+DAO模式例子"压缩包中,可能包含了实现了MVC模式和DAO模式的Java源代码,包括Servlet、JSP、JavaBean以及对应的DAO类。这些文件可以作为学习和理解这两种模式的实例,通过分析和运行代码,可以帮助初学...

    java复习题,jdbc,DAO模式,oracle复习题

    在Java中,复习题可能会涵盖基本语法、异常处理、集合框架、IO流、多线程、网络编程等方面。深入学习Java还需要理解反射、泛型、注解等高级特性。 接着是JDBC。JDBC提供了统一的接口,使得Java程序员可以操作不同的...

    JSP实现上传下载 DAO模式

    在IT行业中,JSP(JavaServer Pages)是一种用于创建动态网页的技术,它允许开发者将HTML代码与Java代码结合,以实现服务器端的...在实践中,还要考虑异常处理、错误提示以及性能优化等方面,以提供更高质量的服务。

    Dao设计模式教程

    - **异常处理**:DAO实现通常需要捕获并封装数据库操作中可能出现的异常,提供统一的错误处理机制。 - **缓存支持**:为了提高性能,可以引入缓存机制,如Redis或 EhCache,缓存频繁访问的数据。 6. **实战应用**...

    DAO模式实现增加删除修改操作

    5. **异常处理** DAO层应捕获并处理可能抛出的数据库相关异常,如`SQLException`,然后将其转换为业务层能理解的异常,如自定义的`DataAccessException`。 6. **查询优化** 对于复杂的查询,DAO层可以利用预编译...

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

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

    DAO设计模式辅助资料

    5. **异常处理**:DAO层应该捕获并封装数据库操作可能抛出的异常,向上层返回合适的错误信息,而不是直接暴露底层的数据库异常。 6. **测试**:由于DAO层是独立的,可以方便地编写单元测试,确保数据访问功能的正确...

    JDBC_DAO设计思想与搭建骨架, 结合Service层讲解DAO层的异常处理

    DAO模式的主要目标是提供一个接口,使得业务层可以与具体的数据库操作分离。这样,如果数据库发生变化,只需要修改DAO层,而无需改动业务逻辑。在JDBC DAO中,我们通常会创建一个接口,定义各种数据库操作方法,然后...

    Chapter08DAO模式_javadao_

    7. **异常处理** DAO层通常会捕获并封装数据库操作中可能出现的异常,然后抛出更通用的业务异常,这样可以使得上层代码无需关心底层数据访问的细节,只关注业务逻辑。 8. **测试** 对DAO层进行单元测试是非常必要...

    web学习笔记 —— DAO设计模式

    - **异常处理**:合理抛出和处理数据库操作可能出现的异常,提供良好的错误信息。 - **性能优化**:考虑缓存策略、批处理操作等来提升性能。 - **安全性**:防止SQL注入等安全问题,使用预编译的SQL语句或者ORM框架...

    DAO.rar_dao模式怎么写

    本文将深入探讨DAO模式的原理、实现步骤以及注意事项。 一、DAO模式的概念 DAO模式的主要目的是提供一个独立于应用程序的数据访问接口。它创建了一个数据访问的对象,该对象负责处理所有与数据库相关的操作,如...

    java dao模式搭建教程

    同时,可以添加异常处理和事务控制。 10. **测试** 编写测试类,如`UserServiceTest.java`,对Service层进行单元测试,确保数据操作的正确性。 11. **整合与优化** 可以考虑使用Spring Boot简化配置,结合...

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

    10. 故障处理:DAO层应当包含异常处理机制,当数据库操作出现错误时,能够适当地捕获异常并向上层返回有意义的信息,以便进行错误恢复或提示用户。 综上所述,基于DAO设计模式的新闻发布系统通过分离数据访问和业务...

    dao--2.dao模式

    例如,"day17_1"可能讲解了DAO模式的基本概念和原理,"day17_2"可能涉及如何设计和实现DAO接口及其实现类,"day17_3"可能涵盖事务管理和异常处理,而"day101"可能是对之前内容的回顾或一个综合性的项目实践。...

    DAO设计模式Demo

    6. **异常处理**:DAO层应该适当地处理可能出现的数据库异常,如`SQLException`,并转换为应用程序可以理解的自定义异常,以便上层业务逻辑能够更好地处理错误情况。 在"JDBCTest"这个文件中,很可能包含了一个基于...

    用DAO实现的用户登录系统

    1. **DAO模式**:DAO模式的核心是提供一个接口或抽象类,定义了对数据库的基本操作,如增删查改。具体的数据库操作由实现了这个接口或继承了这个抽象类的类来完成。这样,业务逻辑层只需要与DAO交互,而无需关心底层...

Global site tag (gtag.js) - Google Analytics