你的位置:首页 > 软件开发 > Java > Spring(九)Spring对事务的支持

Spring(九)Spring对事务的支持

发布时间:2015-04-12 18:00:59
一、对事务的支持事务:是一组原子操作的工作单元,要么全部成功,要么全部失败Spring管理事务方式:JDBC编程事务管理:--可以控制到代码中的行 可以清楚的控制事务的边界,事务控制粒度化细(编程的方式)JDBC声明事务管理---可以控制到方法 事务相关API不用介入程序之中,将 ...

Spring(九)Spring对事务的支持

一、对事务的支持

事务:是一组原子操作的工作单元,要么全部成功,要么全部失败

Spring管理事务方式:

  • JDBC编程事务管理:--可以控制到代码中的行

可以清楚的控制事务的边界,事务控制粒度化细(编程的方式

  • JDBC声明事务管理---可以控制到方法

事务相关API不用介入程序之中,将事务管理与实际业务代码解耦合(配置

 

 

二、JDBC编程事务管理

Spring提供两种方式实现编程式的事务管理:

  • 实现PlatformTransactionManager接口
  • 使用TransactionTemplate模式

2.1、实现PlatformTransactionManager接口

Spring(九)Spring对事务的支持

大致步骤:

  • 指定PlatformTransactionManager的实现类
  • 定义事务TransactionDefinition
  • 将事务定义传送给TransactionStatus
  • 将欲进行的事务用try..catch语句封起来
  • 如果事务出错,调用PlatformTransactionManager的rollback方法
package com.pb.transaction.demo;import javax.sql.DataSource;import org.springframework.context.support.ClassPathimport org.springframework.jdbc.core.JdbcTemplate;import org.springframework.transaction.PlatformTransactionManager;import org.springframework.transaction.TransactionStatus;import org.springframework.transaction.support.DefaultTransactionDefinition;/** * 使用TransactionManager事务管理 * 缺点:侵入代码 * 优点:控制度细粒度 */public class TransactionManagerDemo {    public static void main(String[] args) {  ClassPath=new ClassPath);    //获取platform对象  PlatformTransactionManager ptm=(PlatformTransactionManager) cpx.getBean("transactionManager");  //事务定义器  DefaultTransactionDefinition dtd=new DefaultTransactionDefinition();  //设置事务定义器的行为  dtd.setPropagationBehavior(DefaultTransactionDefinition.PROPAGATION_REQUIRED);  //事务状态通过事务管理器创建  TransactionStatus ts=ptm.getTransaction(dtd);    //进行事务    try {    //获取数据源    DataSource ds=(DataSource) cpx.getBean("dataSource");    //创建JDBCTemplacte    JdbcTemplate jt=new JdbcTemplate(ds);    //执行更新或者插入等操作    jt.update("insert into person values(11,'TTM',23)");    jt.update("update person set name='张王八' where id=7");    ptm.commit(ts);        System.out.println("===========");  } catch (Exception e) {    ptm.rollback(ts);    System.out.println("撤消=======");    e.printStackTrace();  }    }}

 

海外公司注册、海外银行开户、跨境平台代入驻、VAT、EPR等知识和在线办理:https://www.xlkjsw.com

原标题:Spring(九)Spring对事务的支持

关键词:Spring

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

可能感兴趣文章

我的浏览记录