Spring DAO的哲学

Spring DAO的哲学

Spring DAO的哲学:

封装所有的数据库访问实现,包括JDBC,JDO,Hibernate等。

Spring的异常一般都是RuntimeException,数据访问的根异常是DataAccessException,所有的Spring的数据访问异常都继承DataAccessException。此外DataAccessExceptionnestedRuntimeException子类中,已经将所有的异常栈都进行了记录。

SpringDAO异常对所有底层的DAO访问实现层的异常进行了统一的封装,并给出了更为有意义的异常。

CleanupFailureDataAccessException:清除失败异常

DataAccessResourceFailureException:资源访问异常

DataIntegrityViolationException:完整性约束异常

DataRetrievalFailureException:数据获取异常

DeadlockLoserDataAccessException:死锁访问异常

IncorrectUpdateSemanticsDataAccessException:更新出错异常

InvalidDataAccessApiUsageException:无效数据访问API使用异常

InvalidDataAccessResourceUsageException:无效数据访问资源使用异常

OptimisticLockingFailureException:乐观锁失败异常

TypeMismatchDataAccessException:类型匹配失败异常

UncategorizedDataAccessException:其他原因异常


Spring 使用 Template Callback 模式完成了对底层实现的统一封装,其中 Template 负责完成那些通用的功能(处理事务、管理资源、处理异常), Callback 则完成变化的那部分内容(创建 statement 、设定参数 parameter 、生成数据集 result )。参考图 4.2 4.3 太重要了。

你可能感兴趣的:(Spring DAO的哲学)