Spring对JDBC和事务的支持(原子性,一致性,隔离性,持久性)

1.JDBC

  • @Repository注解实现的是DAO(数据访问对象)
  • 而DAO的实现依赖于某个持久化源,比如一个基于JDBC的DAO需要一个数据源DataSource
    Spring对JDBC和事务的支持(原子性,一致性,隔离性,持久性)jdbcTemplate类是Spring对JDBC支持类库中的核心类
  • jdbcTemplate负责:(1)创建和释放资源
    (2)执行SQL语句、存储过程,并通过ResultSet来返回数据
  • 使用方式:(1)XXXDao注入jdbcTemplate,并且给jdbcTemplate注入DataSource
    (2)XXXDao继承JdbcDaoSupport类,而JdbcDaoSupport类中定义了JdbcTemplate成员变量

增删改(update)

Spring对JDBC和事务的支持(原子性,一致性,隔离性,持久性)

查询(queryForObject)

Spring对JDBC和事务的支持(原子性,一致性,隔离性,持久性)Spring对JDBC和事务的支持(原子性,一致性,隔离性,持久性)Spring对JDBC和事务的支持(原子性,一致性,隔离性,持久性)

2. 事务(原子性,一致性,隔离性,持久性)

Spring对JDBC和事务的支持(原子性,一致性,隔离性,持久性)Spring对JDBC和事务的支持(原子性,一致性,隔离性,持久性)Spring对JDBC和事务的支持(原子性,一致性,隔离性,持久性)Spring对JDBC和事务的支持(原子性,一致性,隔离性,持久性)数据库事务的隔离级别有4种,由低到高分别为Read uncommitted 、Read committed 、Repeatable read 、Serializable 。而且,在事务的并发操作中可能会出现脏读,不可重复读,幻读

Spring对JDBC和事务的支持(原子性,一致性,隔离性,持久性)

  1. 编程式事务管理 :Spring一般都推荐使用TransactionTemplate来进行编程式事务管理
  2. 声明式事务管理:Spring Framework的声明式事务管理是建立在Spring的面向切面编程(aspect-oriented programming, AOP) 上的

声明式事务管理: Spring配置文件中关于事务配置总是由三个组成部分,分别是DataSource、TransactionManager和代理机制这三部分,无论哪种配置方式,一般变化的只是代理机制这部分
Spring对JDBC和事务的支持(原子性,一致性,隔离性,持久性)