第四章:Spring中数据库开发
2020-04-02 本文已影响0人
Y_Jaaao
Spring JDBC
Spring JdbcTemplate的解析
- Spring框架提供了JdbcTemplate类,该类是Spring框架数据抽象层的基础,其他更高层次的抽象类却是构建于JdbcTemplate类之上。(JdbcTemplate类是Spring JDBC的核心类)
JdbcTemplate继承关系 - 由上图可以看出,JdbcTemplate类的直接父类是JdbcAccessor,该类为子类提供了一些访问数据库时使用的公共属性,具体如下:
- DataSource:主要功能是获取数据库连接,还可引入对数据库连接的缓冲池和分布式事务的支持,它可以作为访问数据库资源的标准接口
- SQLExceptionTranslator:该接口负责对SQLException进行转译工作。通过必要的设置获取SQLExceptionTranslator中的方法,可以使JdbcTemplate在需要处理SQLException时,委托SQLExceptionTranslator的实现类来完成相关的转译工作
- jdbcOperations接口定义了在JdbcTemplate类中可以使用的操作集合,包括增删改查
- Spring JDBC模块负责数据库资源管理和错误处理,简化了开发人员对数据库的操作
Spring JDBC的配置
Spring JDBC模块的组成(由4个包组成),分别是:core(核心包)、dataSource(数据源包)、object(对象包)、support(支持包)
-
dataSource(数据源包):
dataSource4个属性 四种包
例子
JdbcTemplate类中execute()方法的使用
execute(String sql)方法用于执行sql语句
JdbcTemplate类中update()方法的使用
update()用于执行插入、更新、删除操作
update()方法Spring事务管理的方式(2种)
- (1)编程式事务管理:通过编写代码实现事务管理,含定义事务的开始、正常执行后的事务提交和异常时的事务回滚
- (2)声明式事务管理(推荐使用):通过AOP技术实现的事务管理,主要思想是将事务作为一个“切面”代码单独编写,然后通过AOP技术将事务管理的“切面”植入到业务目标类中。(最大特点“开发者无需通过编程的方式来管理事务)
- Spring 的声明式事务管理可以通过两种方式来实现:
A、基于 XML 的方式:通过在配置文件中配置事务规则的相关声明来实现的。
B、基于 Annotation(注释) 的方式。- Spring 的声明式事务管理通过 Annotation (注解)的方式来实现。 这种方式的使用非常简单,开发者只需做两件事情:
① 在Spring容器中注册事务注解驱动;
② 在需要使用事务的Spring Bean类或者Bean类的方法上添加注解@Transactional。如果将注解添加在Bean类上,则表示事务的设置对整个Bean类的所有方法都起作用;如果将注解添加在Bean类中的某个方法上,则表示事务的设置只对该方法有效。
- Spring 的声明式事务管理通过 Annotation (注解)的方式来实现。 这种方式的使用非常简单,开发者只需做两件事情:
- Spring 的声明式事务管理可以通过两种方式来实现: