当前位置:   article > 正文

【Java】Spring事务手动提交

spring事务手动提交

应用场景

在使用spring+hibernate时,通常情况下直接在ServiceImpl层或Controller层加@Transactional注解就行,但因更新数据量过大,内存溢出,需分量提交,比如每插入100000条进行提交一次,但注解无法满足应用场景,所以只能采用手动提交形式。

解决方案

  1. 通过自动注解获取TransactionTemplate对象。
@Autowired
private TransactionTemplate  txTemplate;
  • 1
  • 2
  1. 在sql语句执行之前开启事务。
DefaultTransactionDefinition transDefinition = new DefaultTransactionDefinition ();
TransactionStatus transStatus = txTemplate.getTransactionManager().getTransaction(transDefinition );
  • 1
  • 2
  1. 最后,在执行sql语句之后,进行事务提交
txTemplate.getTransactionManager().commit(transStatus);
  • 1

备注:以上所有类采用org.springframework.transaction的jar包
各位看官,走过路过,麻烦点个赞,谢谢了

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/216001
推荐阅读
相关标签
  

闽ICP备14008679号