JDBC的异常 Spring的数据访问异常 BatchUpdateException
DataTruncation
SQLException
SQLWarningCannotAcquireLockException
ConnotSerializeTransactionException
CleanupFailureDataAccessException
ConcurrencyFailureException
DataAccessException
DataAccessResourceFailureException
DataIntegrityViolationException
DataRetrievalFailureException
DeadlockLoserDataAccessException
EmptyResultDataAccessEexception
....more and more模板类 用途 jca.cci.core.CciTemplate JCA CCI连接 jdbc.core.Jdbc.Template JDBC连接 jdbc.core.nameparam.NameParameterJdbcTemplate 支持明明参数的JDBC连接 dbc.core.simple.SimpleJdbcTemplate JDBC连接,用java 5概念进行了简化 orm.hibernate.HibernateTemplate Hibernate 2.x 会话 orm.hibernate3.HibernateTemplate Hibernate 3.x 会话 orm.ibatis.SqlMapClientTemplate iBATIS SqlMap 客户 orm.jdo.JdoTemplate Java数据对象实现 orm.JpaTemplate Java存储API实体管理器 orm.toplink.TopLinkTemplate Oracle的TopLink DAO支持类 支持 jca.cci.supportCciDaoSupport JCA CCI连接 jdbc.core.support.JdbcDaoSupport JDBC连接 jdbc.core.namedparam.NameParameterJdbcDaoSupport 支持命名参数的JDBC连接 jdbc.core.simple.SimpleJdbcSupport JDBC连接,用JAVA 5概念进行了简化 orm.hibernate.support.HibernateDaoSupport Hibernate2.x会话 orm.hibernate3.support.HibernateDaoSupport Hibernate3.x会话 orm.ibatis.support.SqlMapClientDaoSupport iBATIS SqlMap客户 orm.jdo.support.JdoDaoSupport Java数据对象实现 orm.jpa.support.JpaDaoSupport Java存储API实体管理器 orm.toplink.support.TopLinkDaoSupport Oracle的TopLink
spring学习笔记3——数据访问哲学
最新推荐文章于 2023-07-06 14:39:05 发布
前言(spring异常体系)
编写过JDBC的朋友应该都知道不捕获SQLException就几乎不能对数据库进行操作,SQLException是数据访问错误的通用异常,也就是说任何数据访问错误都会出发SQLException,而不是每个可能的错误产生不同的异常。有些持久框架提供了丰富的异常体系,比如Hibernate大约有二十多个不同的异常,但是Hibernate异常是私有的平台相关的,我们希望把特定持久机制与数据访问层分离开。
spring的平台无关的异常:
spring的异常体系庞大,几乎对数据库所有可能产生的错误提供了异常,但并没有与任何特定持久方式相关联,这意味着我们可以依靠spring来抛出一致的异常。为了使用spring的数据访问的异常,我们必须使用spring支持的数据访问模板之一。
数据访问的模板化:
Spring把数据访问过程中固定与变化的部分明确的划分为两类:模板和回调。模板管理过程中的固定部分,而回调处理自定义的数据访问代码。
Spring提供了多个模板,针对不同的持久平台,下面是Spring全部的数据访问模板及用途。
后面会介绍,使用数据访问模板只需要把它配置为spring上下文的Bean,然后把它织入到程序的DAO,或者还可以利用Spring的DAO支持类进一步简化DAO的配置。
使用DAO支持类:
在以后介绍Spring独特的数据访问支持选项时,我们回看到DAO支持类符合能够方便的访问相应的模板类。在编写自己的DAO实现时,可以从DAO类集成,并且调用模板获取方法来直接访问底层的数据访问模板。Spring不仅提供了多个数据访问模板,也日共了多个DAO支持类,分别对应于每个模板。下表为spring提供的DAO支持类