`

PlatformTransactionManager

阅读更多
JDBC的事务管理在Spring2.0下有两种编程式的实现
PlatformTransactionManager
TransactionTemplate



对于PlatformTransctionManager,通常,不直接使用它,而是使用它的实现类DataSourceTransactionManager。





import com.gctx.framework.dao.IGenericJdbcDAO;
import com.gctx.framework.logs.Logit;
import java.io.Serializable;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.List;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.core.PreparedStatementCreator;
import org.springframework.jdbc.core.RowMapper;
import org.springframework.jdbc.core.support.JdbcDaoSupport;
import org.springframework.jdbc.datasource.DataSourceTransactionManager;
import org.springframework.jdbc.support.GeneratedKeyHolder;
import org.springframework.jdbc.support.KeyHolder;
import org.springframework.transaction.PlatformTransactionManager;
import org.springframework.transaction.TransactionStatus;
import org.springframework.transaction.support.DefaultTransactionDefinition;
public boolean tran(List<String> sqls)
  {
    if ((null == sqls) || (sqls.size() <= 0)) {
      return false;
    }

    PlatformTransactionManager ptm = new DataSourceTransactionManager(getDataSource());

    DefaultTransactionDefinition def = new DefaultTransactionDefinition();
    TransactionStatus status = ptm.getTransaction(def);
    try {
      for (int i = 0; i < sqls.size(); i++) {
        getJdbcTemplate().execute((String)sqls.get(i));
      }
      ptm.commit(status);
      return true;
    } catch (Exception e) {
      ptm.rollback(status);
    }
    return false;
  }
分享到:
评论

相关推荐

    spring_day04

    本文将深入探讨`PlatformTransactionManager`接口,它是Spring提供的一个关键组件,用于处理不同类型的事务管理。 首先,`PlatformTransactionManager`是Spring的事务管理API的核心接口,它定义了对事务进行开始、...

    使用Spring的事务模板

    在Spring中,`PlatformTransactionManager`接口是所有事务管理器的基类,如`DataSourceTransactionManager`用于JDBC事务,`HibernateTransactionManager`用于Hibernate事务,以及`JtaTransactionManager`用于JTA事务...

    spring声明事务,编程事务实现

    Spring 的事务管理器是通过 PlatformTransactionManager 接口体现的,该接口是 Spring 事务策略的核心,是一个与任何事务策略分离的接口,随着底层不同事务策略的切换,应用必须采用不同的实现类。 Spring 的事务...

    09-4编程式事务管理.rar

    在Spring中,编程式事务管理通常使用PlatformTransactionManager接口实现,如DataSourceTransactionManager(适用于JDBC事务)或HibernateTransactionManager(适用于Hibernate)。通过这个接口,我们可以手动开启...

    spring讲义3.txt

    2. `platformTransactionManager` Bean的配置,类型为`DataSourceTransactionManager`,它依赖于前面定义的`dataSource` Bean。 3. `helloADO` Bean的配置,这是一个自定义的类,用于执行数据库操作,并且依赖于`...

    浅谈SpringBoot之事务处理机制

    Spring的事务机制提供了一个PlatformTransactionManager接口,不同的数据访问技术的事务使用不同的接口实现。例如,JPA事务使用JpaTransactionManager实现,JDBC事务使用DataSourceTransactionManager实现。 在程序...

    spring+mybatis的编码式事务

    Spring提供了一个`PlatformTransactionManager`接口,它是所有事务管理器的基类。在编码式事务中,我们需要实现这个接口的`getTransaction()`, `commit()`, `rollback()`等方法来控制事务的生命周期。 2. **...

    实例详解Spring JDBC事务管理.doc

    Spring的事务管理机制是基于PlatformTransactionManager接口的实现的,该接口定义了三个方法:getTransaction、commit和rollback。这三个方法是事务管理的核心,分别负责事务的开启、提交和回滚。 事务原子性 在...

    spring 自定义事务管理器,编程式事务,声明式事务@Transactional使用

    **编程式事务管理** 是通过调用`PlatformTransactionManager`接口提供的方法来手动控制事务的开始、提交、回滚。例如,你可以使用`TransactionTemplate`或直接调用`TransactionDefinition`和`TransactionStatus`来...

    基于java的企业级应用开发:Spring事务管理概述.ppt

    Spring的事务管理主要围绕三个核心接口展开:PlatformTransactionManager、TransactionDefinition和TransactionStatus。 1. **PlatformTransactionManager**: PlatformTransactionManager接口是Spring事务管理的...

    Spring事务管理4种方式

    本文将详细介绍Spring事务管理的四种方式:编程式事务管理、声明式事务管理、PlatformTransactionManager接口以及TransactionTemplate。 1. **编程式事务管理**:这是一种手动控制事务的方式,通过在代码中调用`...

    spring学习事务源码

    编程式事务管理通过调用`PlatformTransactionManager`接口提供的方法进行显式控制,如`beginTransaction()`, `commit()`, 和`rollback()`。声明式事务管理则依赖于AOP(面向切面编程)来自动处理事务的开始、提交或...

    Spring事务相关类Uml图

    编程式事务管理通过调用`PlatformTransactionManager`接口的`beginTransaction()`、`commit()`和`rollback()`方法来手动控制事务的开始、提交和回滚。这种方式灵活性高,但易引入事务管理代码,降低了代码的可读性。...

    springboot多数据源配置

    public PlatformTransactionManager secondaryTransactionManager(@Qualifier("secondaryDataSource") DataSource secondaryDataSource) { return new DataSourceTransactionManager(secondaryDataSource); } ``` ...

    多数据源事务解决方案,单应用多数据库保证事务

    Spring的PlatformTransactionManager接口是核心,它定义了事务管理的基本操作。对于多数据源事务,我们可以使用AbstractPlatformTransactionManager的子类,如DataSourceTransactionManager,它可以处理单个数据源的...

    springboot适配多数据源,多类型数据库代码

    public PlatformTransactionManager postgresTransactionManager(@Qualifier("postgresDataSource") DataSource postgresDataSource) { return new DataSourceTransactionManager(postgresDataSource); } ``` 5. ...

    spring编程式事务实现

    `PlatformTransactionManager`可以根据你的数据库类型选择,如`DataSourceTransactionManager`(用于JDBC)或`HibernateTransactionManager`(用于Hibernate)。 ```java @Autowired private ...

    Spring事务详细讲解

    Spring 在 TransactionDefinition 接口中定义这些属性,以供 PlatformTransactionManager 使用。PlatformTransactionManager 是 Spring 事务管理的核心接口。 TransactionDefinition 接口中定义了五个不同的方法: ...

Global site tag (gtag.js) - Google Analytics