Spring Dao 模块学习笔记

本文介绍了Spring DAO模块的核心概念,包括Spring数据访问异常体系,如何实现数据访问模板化,以及如何配置不同类型的数据源,如JNDI数据源、连接池数据源和基于JDBC驱动的数据源。
摘要由CSDN通过智能技术生成

第一节:Spring的数据访问哲学

Spring的目标之一就是允许开发人员进行程序开发时可以遵循面向对象中的 的原则–“针对接口编程”

1Spring数据访问异常体系

1.1传统的JDBC 异常:
只有类似于SQLException这种很笼统的异常,很是鸡肋,基本上没啥用
1.2Spring Dao层的访问异常体系:
首先 SpringDao层的异常体系是平台无关的,也就是说不管你用hibernate还是MyBaties或者其他的ORM框架,Spring都会抛出一致的异常。这样也将我们选择的持久化机制与数据访问层隔离出来,耦合性低。

2数据访问模板化

2.1Spring将数据访问过程中固定的和可变的明确划分为2个类别,即模板和回调
a模板类(固定的):
准备资源
开始事务
提交、回滚事务
关闭资源
处理异常

b回调类
在事务中的执行
返回数据

2.2Spring 提供了多个模板,例如jdbcTemplate HibernateTemplate JpaTemplate
不仅如此,还为这些模板提供了Dao支持类,例如jdbc.core.support.HibernateDaoSupport 下面我们来看看什么是DAO支持类。

3DAO支持类

Spring Dao的访问流程

3.1数据访问模板只是访问流程中的一部分,基于模板-回调设计,Spring提供了Dao支持类,开发时,我们自己编写的Dao类作为 Dao支持类的子类,并调用模板获取方法来访问底层的数据访问模板

第二节:Spring配置数据源

不管选择哪种Spring Dao 的支持方式,我们都需要在Spring 容器中配置一个数据源应用的bean,一共有以下三种方式配置数据源的引用
1通过JDBC驱动程序定义的数据源
2通过JNDI查找的数据源
3连接池的数据源

1使用JNDI数据源

可能大家会对JNDI有点陌生,先来简单的解释一下JNDI吧。
来来来,先举个栗子:
如果咱们不用JNDI,在做开发时,可能是下面这样来配置数据源的

    <property name="driverClass" value="com.mysql.jdbc.Driver" />
        <!-- 指定连接数据库的URL -->
        <property name="jdbcUrl" value="jdbv:mysql://localhost:3306......" />
        <!-- 指定连接数据库的用户名 -->
        <property name="user" value=
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值