Java Web后端技术 (下) - 7. Spring JDBCTemplate & 声明式事务

Spring JDBCTemplate  & 声明式事务

Spring的JdbcTemplate

概述

  • 概念

    • JdbcTemplate是spring框架中提供的一个模板对象,是对原始繁琐的Jdbc API对象的简单封装。
  • 核心对象

    • JdbcTemplate jdbcTemplate = new JdbcTemplate(DataSource dataSource);
  • 核心方法

    • int update();

      • 执行增删改语句
    • List query();

      • 查询多个
    • T queryForObject();

      • 查询一个
    • new BeanPropertyRowMapper<>();

      • 实现ORM映射封装

Spring整合JdbcTemplate

  • 需求

    • 基于Spring的xml配置实现账户的CRUD案例
  • 步骤分析

      1. 创建java项目,导入坐标
      1. 编写Account实体类
      1. 编写AccountDao接口和实现类
      1. 编写AccountService接口和实现类
      1. 编写spring核心配置文件
      1. 编写测试代码

Spring的事务

事务控制方式

  • 编程式事务控制

    • 开发者直接把事务的代码和业务代码耦合到一起,在实际开发中不用。
  • 声明式事务控制

    • 开发者采用配置的方式来实现的事务控制,业务代码与事务代码实现解耦合,使用的AOP思想。

基于XML的声明式事务控制

  • 明确事项

      1. 核心业务代码(目标对象) (切入点是谁?)
      1. 事务增强代码(Spring已提供事务管理器))(通知是谁?)
      1. 切面配置(切面如何配置?)
  • 快速入门

    • 需求

      • 使用spring声明式事务控制转账业务
    • 步骤分析

        1. 引入tx命名空间
        1. 事务管理器通知配置

    <tx:advice id=“txAdvice” transaction-manager=“transactionManager”>

    tx:attributes

    <tx:method name=“save*” propagation=“REQUIRED”/>
    <tx:method name=“delete*” propagation=“REQUIRED”/>
    <tx:method name=“update*” propagation=“REQUIRED”/>
    <tx:method name=“find*” read-only=“true”/>
    <tx:method name="*"/>
    </tx:attributes>
    </tx:advice>
    - 事务参数的配置详解

      		- <tx:method name="transfer" isolation="REPEATABLE_READ" propagation="REQUIRED"
    

timeout="-1" read-only=“false”/>

  • name:切点方法名称

  • isolation:事务的隔离级别

  • propogation:事务的传播行为

  • timeout:超时时间

  • read-only:是否只读

      	- CRUD常用配置
    
      		- <!--**CRUD常用配置**-->
          <tx:method name="save*" propagation="REQUIRED"/>
          <tx:method name="delete*" propagation="REQUIRED"/>
          <tx:method name="update*" propagation="REQUIRED"/>
          <tx:method name="find*" read-only="true"/>
          <tx:method name="*"/>
    
      - 3. 事务管理器AOP配置
    
      	- <!--AOP配置,配置切面-->
    

    aop:config
    <aop:advisor advice-ref=“txAdvice” pointcut=“execution(* com.lagou.service.impl.AccountServiceImpl.*(…))”></aop:advisor>
    </aop:config>

      - 4. 测试事务控制转账业务代码
    

基于注解的声明式事务控制

Spring集成web环境

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值