spring实现jdbctemplate添加事务支持示例
2014-03-06 00:00
609 查看
public interface JdbcTemplate extends JdbcOperations { public abstract void beginTranstaion(); public abstract void commit(); public abstract void rollback(); }
public class JdbcTemplateImpl extends org.springframework.jdbc.core.JdbcTemplate implements JdbcTemplate { private PlatformTransactionManager platformTransactionManager; private DefaultTransactionDefinition transactionDefinition; private ThreadLocal<TransactionStatus> transcationStatus = new ThreadLocal<TransactionStatus>(); public void beginTranstaion() { TransactionStatus tmp = platformTransactionManager.getTransaction(transactionDefinition); transcationStatus.set(tmp); } public void commit() { TransactionStatus tmp = transcationStatus.get(); if (tmp == null) { throw new RMSRuntimeException("no transcation"); } platformTransactionManager.commit(tmp); transcationStatus.remove(); } public void rollback() { TransactionStatus tmp = transcationStatus.get(); if (tmp == null) { throw new RMSRuntimeException("no transcation"); } platformTransactionManager.rollback(tmp); transcationStatus.remove(); } @Override public void afterPropertiesSet() { super.afterPropertiesSet(); transactionDefinition = new DefaultTransactionDefinition(); transactionDefinition.setIsolationLevel(TransactionDefinition.ISOLATION_READ_COMMITTED); transactionDefinition.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRED); platformTransactionManager = new DataSourceTransactionManager(getDataSource()); } public PlatformTransactionManager getPlatformTransactionManager() { return platformTransactionManager; } public DefaultTransactionDefinition getTransactionDefinition() { return transactionDefinition; } public ThreadLocal<TransactionStatus> getTranscationStatus() { return transcationStatus; } }
相关文章推荐
- spring实现jdbctemplate添加事务支持示例
- Atomikos+spring AOP方式实现JTA事务配置的示例
- Spring实现动态数据源,支持动态添加、删除和设置权重及读写分离
- Spring实现动态数据源,支持动态添加、删除和设置权重及读写分离
- [原创]java WEB学习笔记109:Spring学习---spring对JDBC的支持:使用 JdbcTemplate 查询数据库,简化 JDBC 模板查询,在 JDBC 模板中使用具名参数两种实现
- 以用户登录、注册、添加删除修改为例,解析jdbcTemplate使用方式以及spring注解实现CRUD
- 【示例】Spring中通过JdbcTemplate来实现数据库的操作
- spring事务-说说Propagation及其实现原理(传播属性示例分析)
- spring.net 实现访问oracle数据库,对表增、删、改、查支持事务拦截
- SpringBoot JPA实现增删改查、分页、排序、事务操作等功能示例
- xml方式实现spring的声明式事务管理及对jdbc操作的支持
- Spring实现动态数据源,支持动态添加、删除和设置权重及读写分离
- day3_spring03_jdbcTemplate实现crud操作(添加操作)
- SpringMVC+JdbcTemplate实现事务管理(插入操作需要返回自增字段)
- spring rabbitmq 消息确认机制和事务支持
- Struts2+Spring2.5+Hibernate3.1实现登陆示例
- Spring实现事务的处理
- 【Spring】——事务实现过程及原理
- Spring事务管理及几种简单的实现
- 被忽略的Spring3小改进—支持多数据源的@Transactional事务注解