public Boolean update(Map paraMap) throws Exception{
String userId = paraMap.get("userId").toString();
List entitledUserList = (List)paraMap.get("entitledUserList");
StringBuffer deleteQuery = new StringBuffer();
deleteQuery.append("delete from TblPnlSalesEntitlement ");
deleteQuery.append("where userId ='"+userId);
Session session = null;
Connection con = null;
Statement stmt = null;
Boolean rtn = false;
DefaultTransactionDefinition def = new DefaultTransactionDefinition();
def.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRED);
TransactionStatus status = txManager.getTransaction(def);
try {
session = getDaoService().getHibernateTemplate().getSessionFactory().openSession();
con = session.connection();
con.setAutoCommit(false);
PreparedStatement pqs = con.prepareStatement(con.nativeSQL("SET CHAINED OFF"));
pqs.execute();
stmt = con.createStatement();
stmt.addBatch(deleteQuery.toString());
Iterator entitledUserIt = entitledUserList.iterator();
while(entitledUserIt.hasNext()){
String entitledUser = entitledUserIt.next().toString();
StringBuffer insertQuery = new StringBuffer();
insertQuery.append("insert into TblPnlSalesEntitlement(userId,entitledUserId) ");
insertQuery.append("values('"+userId+"','"+entitledUser"');
stmt.addBatch(insertQuery.toString());
}
stmt.executeBatch();
txManager.commit(status);
rtn = true;
}catch (Exception e) {
txManager.rollback(status);
e.printStackTrace();
throw new Exception(e);
}finally{
if(con!=null)
try {
con.close();
} catch (SQLException e) {
e.printStackTrace();
throw new Exception(e);
}
if(session!=null)
session.close();
}
return rtn;
}
分享到:
相关推荐
spring企业开发实战宝宝套项目maven配置实例,完成登陆操作,配置了事务,是学习利用maven管理springmvc+spring+springjdbc很好的小例子。
适用企业系统的sturts1.2+spring2.0+jdbc 的架构。 通过TransactionProxyFactoryBean 代理机制和tx/aop两种方式来管理事务的详细demo
本案例主要是分别实现Spring与jdbc和hibernate结合的事务控制,如果该案例有出入的地方,请给我留言,我们一起交流
完整的例子,成功运行. 配好mysql数据库后,可以直接main方法测试事务.
因为xa接口的事务开销比较大,在项目中如果全部使用分布式的话,那么开销也是很大的,所以在项目中分别部署了分布式事务和jdbc事务,这样可以根据需求自由搭配。 如有疑问可以加群 369091722 联系 管理员bane (就...
《Spring3.0就这么简单》主要介绍了Spring3.0的核心内容,不仅讲解了Spring3.0的基础知识,还深入讨论了SpringIoC容器、SpringAOP、使用SpringJDBC访问数据库、集成Hibernate、Spring的事务管理、SpringMVC、单元...
一个简单通俗的例子,演示spring事务的多种配置方式
前几天搞 Spring + Hibernate + Struts 事务配置 ,网上找了好多资料,不过好无语,大多都是 Ctrl + V,浪费俺的宝贵时间 现在我总结配出一套,给大家参考参考,可能有不足,请大家多多交流。 附:内有弹出...
第9章:介绍了Spring事务管理的工作机制,通过XML、注解等方式进行事务管理配置,同时还讲解了JTA事务配置知识。 第10章:对实际应用中Spring事务管理各种疑难问题进行透彻的剖析,让读者对Spring事务管理不再有...
这是我总结的jdbc连接数据库事务工厂模式的例子在项目中经常用,很不错的。
Shardingsphere-jdbc-nocas-seata用seata分布式事务处理方案分布式事务处理方案,seata分布式事务:项目Spring Cloud + ShardingSphereJDBC + nacos + seata分组事务+ fegin
spring-beans-4.2.4.RELEASE.jar //包含访问配置文件、...//spring提供对事务的支持,事务的相关处理以及实现类就在这个Jar包中。 commons-logging-1.1.1.jar //spring的必备包。用来记录程序运行时的活动的日志记录。
5.1.8.1Spring的事务管理器 117 5.1.8.2Spring事务的传播属性 117 5.1.8.3Spring事务的隔离级别 117 拓展: 118 5.1.8.4以XML配置的 形式 119 拓展: 120 5.1.8.5以注解方式配置 125 拓展: 127 5.1.9使用CGLIB以XML...
10.5.2 Hibernate+Spring JDBC混合框架的事务管理 10.6 特殊方法成漏网之鱼 10.6.1 哪些方法不能实施Spring AOP事务 10.6.2 事务增强遗漏实例 10.7 数据连接泄漏 10.7.1 底层连接资源的访问问题 10.7.2 Spring JDBC...
SpringBoot集成Sharding-JDBC框架-实现数据库读写分离; SpringBoot集成gRPC框架-实现RPC服务; SpringBoot集成Thrift框架-实现RPC服务; SpringBoot集成Nacos框架-实现配置中心; SpringBoot集成Jedis框架-实现Redis...
9.5.1. 理解Spring的声明式事务管理实现 9.5.2. 第一个例子 9.5.3. 回滚 9.5.4. 为不同的bean配置不同的事务语义 9.5.5. <tx:advice/> 有关的设置 9.5.6. 使用 @Transactional 9.5.7. 插入事务操作 9.5.8. ...
49. Spring 框架的事务管理有哪些优点? 50. 你更倾向用那种事务管理类型? 51. 解释 AOP 52. Aspect 切面 53. 在 Spring AOP 中,关注点和横切关注的区别是什么? 54. 连接点 55. 通知 56. 切点 57. 什么是引入? ...
9.5.1. 理解Spring的声明式事务管理实现 9.5.2. 第一个例子 9.5.3. 回滚 9.5.4. 为不同的bean配置不同的事务语义 9.5.5. <tx:advice/> 有关的设置 9.5.6. 使用 @Transactional 9.5.6.1. @Transactional 有关的设置 ...
--实战演示在Spring Boot里面的测试案例,以及如何测试Controller 25 Spring Boot 构建微服务实战01:01:50 --一分钟配置一个Spring boot + Mybatis的微服务环境 26 Spring Boot 服务的注册和发现41:53 27 Spring ...