spring3ppt-3jdbc_orm_事务_三大框架整合_表达式语言讲义教材.pptx

spring3ppt-3jdbc_orm_事务_三大框架整合_表达式语言讲义教材.pptx

  1. 1、本文档共87页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
spring3ppt-3jdbc_orm_事务_三大框架整合_表达式语言讲义教材.pptx

第四章:对JDBC和ORM的支持; DAO支持-2 n 一致的DAO支持抽象类 为了便于以一种一致的方式使用各种数据访问技术,如JDBC、JDO和 Hibernate, Spring提供了一套抽象DAO类供你扩展。这些抽象类提供了一些方 法,通过它们你可以 获得与你当前使用的数据访问技术相关的数据源和其他配 置信息。 1:JdbcDaoSupport - JDBC数据访问对象的基类。 需要一个DataSource,同时为子 类提供 JdbcTemplate。 2:HibernateDaoSupport - Hibernate数据访问对象的基类。 需要一个 SessionFactory,同时为子类提供 HibernateTemplate。也可以选择直接通过 提供一个HibernateTemplate来初始化。 3:JdoDaoSupport - JDO数据访问对象的基类。 需要设置一个 PersistenceManagerFactory, 同时为子类提供JdoTemplate。 4:JpaDaoSupport - JPA数据访问对象的基类。 需要一个EntityManagerFactory, 同时 为子类提供JpaTemplate。; 对JDBC的支持-1 n 简介 Spring JDBC抽象框架所带来的价值将在以下几个方面得以体现:(注:使 用了Spring JDBC抽象框架之后,应用开发人员只需要完成斜体加粗字部分的编 码工作。) 1:指定数据库连接参数 2:打开数据库连接 3:声明SQL语句 4:预编译并执行SQL语句 5:遍历查询结果(如果需要的话) 6:处理每一次遍历操作 7:处理抛出的任何异常 8:处理事务 9:关闭数据库连接 Spring将替我们完成所有单调乏味的JDBC底层细节处理工作; 对JDBC的支持-2 n Spring JDBC抽象框架由四个包构成:core、 dataSource、object以及support 1:core包由JdbcTemplate类以及相关的回调接口和类组成。 2:datasource包由一些用来简化DataSource访问的工具类,以及各种DataSource接 口的简单实现(主要用于单元测试以及在J2EE容器之外使用JDBC)组成。 3:object包由封装了查询、更新以及存储过程的类组成,这些类的对象都是线程安 全并且可重复使用的。它们类似于JDO,与JDO的不同之处在于查询结果与数据库 是“断开连接”的。它们是在core包的基础上对JDBC更高层次的抽象。 4:support包提供了一些SQLException的转换类以及相关的工具类。 在JDBC处理过??中抛出的异常将被转换成org.springframework.dao包中定 义的异常。因此使用Spring JDBC进行开发将不需要处理JDBC或者特定的RDBMS才 会抛出的异常。所有的异常都是unchecked exception,这样我们就可以对传递 到调用者的异常进行有选择的捕获。; JdbcTemplate类-1 n JdbcTemplate是core包的核心类。它替我们完成了资源的创建以及释放工作,从而简化了 对JDBC的使用。它还可以帮助我们避免一些常见的错误,比如忘记关闭数据库连接。 n 定义接口如下: public interface Api { public boolean create(UserModel um); } n 定义实现类如下: public class Impl implements Api{ private DataSource ds = null; public void setDs(DataSource ds){ this.ds = ds; } public boolean create(UserModel um) { JdbcTemplate jt = new JdbcTemplate(ds); jt.execute(insert into tbl_user (uuid,name) values(+um.getUuid()+,+um.getName()+)); return false; } };n; JdbcTemplate类-3 n 如果是需要向里面传递参数的,就需要回调接口,如下: public boolean create(UserModel um1){ JdbcTempl

文档评论(0)

yuzongxu123 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档