JavaEE企业级项目开发(第3版)教学课件微课6-1:Spring JDBC支持.pptx
主讲人:石云延迟符SpringJDBC支持Spring的数据库开发与事务
SpringDAO框架DAO(DataAccessObject)是用于访问数据的对象,虽然我们在大多数情况下,将数据保存在数据库中,但这并不是唯一的选择,你也可以将数据存储到文件中或LDAP中。DAO不但屏蔽了数据存储的最终介质的不同,也屏蔽了具体的实现技术的不同。
SpringDAO框架早期,JDBC是访问数据库的主流选择,近几年,数据持久技术获得了长足的发展,Hibernate、iBatis、JPA、JDO成为持久层中争放异彩的实现技术。
SpringDAO框架DAO接口层应用好处:可以很容易地构造模拟对象,方便单元测试的开展其次在使用切面时,既可用JDK动态代理也可用CGLib动态代理?Spring以统一的方式整合底层的持久化技术:以统一方式进行调用及事务管理,避免让具体的实现侵入到业务层的代码中。每个持久化实现技术都有各自的异常体系,Spring提供了统一的异常体系,方便定义和具体实现技术无关的DAO接口,以便整合到相同的事务管理体系中。
SpringDAO框架Spring典型的数据操作模式:Spring为各种支持的持久化技术提供了简化操作的模板和回调在回调中编写具体的数据操作逻辑使用模板执行数据操作
SpringDAO框架Spring为不同的持久化技术所提供的模板类:JDBCorg.springframework.jdbc.core.JdbcDaoSupportHibernateorg.springframework.orm.hibernate.HibernateDaoSupportHibernate3.0org.springframework.orm.hibernate3.HibernateDaoSupportiBatisorg.springframework.orm.ibatis.SqlMapClientDaoSupportJPAorg.springframework.orm.jpa.JpaDaoSupportJDOorg.springframework.orm.jdo.JdoDaoSupportTopLinkorg.springframework.orm.jpa.JpaDaoSupport这些支持类都继承于dao.support.DaoSupport类,该类实现了InitializingBean接口,在afterPropertiesSet()接口方法中检查模板对象和数据源是否被正确设置,否则将抛出异常。
SpringDAO框架Spring为不同的持久化技术所提供的模板类:所有支持类都是抽象的,目的是希望被继承,而非直接使用。如果直接使用模板类,一般都需要在DAO中定义一个模板对象并提供数据资源。Spring为每一个持久化技术都提供了支持类,支持类中完成这样的功能。只需要扩展支持类就可以直接编写实际的数据访问逻辑。
SpringDAO框架不同持久化技术的支持类:ORM持久化技术支持类JDBCorg.springframework.jdbc.core.JdbcDaoSupportHibernateorg.springframework.orm.hibernate.HibernateDaoSupportHibernate3.0org.springframework.orm.hibernate3.HibernateDaoSupportiBatisorg.springframework.orm.ibatis.SqlMapClientDaoSupportJPAorg.springframework.orm.jpa.JpaDaoSupportJDOorg.springframework.orm.jdo.JdoDaoSupportTopLinkorg.springframework.orm.jpa.JpaDaoSupport
SpringJDBC支持在使用JDBC类操作数据库时,要处理很多相同、繁琐的细节,如:获取数据库的连接创建Statement处理数据库异常关闭数据库资源等Spring提供了几个类用来简化JDBC?API的使用
SpringJDBC支持JdbcTemplate类:JdbcTemplate构造函数请求一个DataSource对象来完成初始化。(1)使用JdbcTemplate的execute()方法执行SQL语句execute方法使用java.sql.Statement,SQL语句不带参数,且不返回受影响记录的计数,更适合于创建和丢弃表的语句。jdbcTemplate.execute(CREATE?TABLE?USER?(user_