首页 > 其他分享 >Spring注解@Transactional事务使用问题

Spring注解@Transactional事务使用问题

时间:2024-11-16 22:07:23浏览次数:1  
标签:事务 调用 Spring Transactional insertData 注解 data self

同步数据需要分批操作,每次同步1000条,都需要提交事务

@Service
public class MyService {

    @Autowired
    private MyService self; // 注意使用自身代理对象来触发事务

    // 循环调用此方法
    @Transactional(propagation = Propagation.REQUIRES_NEW)
    public void insertData(Object data) {
        // 插入数据库的具体逻辑
        myMapper.insert(data);
    }

    public void batchInsert(List<Object> dataList) {
        for (Object data : dataList) {
            self.insertData(data); // 通过代理对象调用,确保事务生效
        }
    }
}
    • @Transactional(propagation = Propagation.REQUIRES_NEW)
      每次调用 insertData 方法都会开启一个新的事务,并独立提交。

    • self.insertData(data)
      必须通过代理对象调用事务方法。如果直接调用 this.insertData(data),事务不会生效,因为 Spring 的事务是通过代理实现的。

    • 循环调用事务方法
      每次循环插入时,都会创建一个新事务并提交,确保单次插入操作失败不会影响其他操作。

标签:事务,调用,Spring,Transactional,insertData,注解,data,self
From: https://www.cnblogs.com/zhaoatian/p/18549925

相关文章

  • SpringBoot进阶教程(八十三)Kaptcha
    Kaptcha是谷歌开源的一个可高度配置的比较老旧的实用验证码生成工具。它可以实现:(1)验证码的字体/大小颜色;(2)验证码内容的范围(数字,字母,中文汉字);(3)验证码图片的大小,边框,边框粗细,边框颜色(4)验证码的干扰线验证码的样式(鱼眼样式、3D、普通模糊)。v搭建架构添加maven引......
  • springboot毕设 面向社区的洗衣店智能服务系统设计与实现808ub程序+论文
    本系统(程序+源码)带文档lw万字以上文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景随着城市化进程的加快,社区居民对于生活服务的便捷性和智能化需求日益增长。洗衣作为日常生活中的一项重要服务,传统的洗衣店模式已难以满足现代人追求......
  • springboot毕设 门诊电子处方管理系统 程序+论文
    本系统(程序+源码)带文档lw万字以上文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景:随着医疗信息化的发展,传统的手工处方管理方式已难以满足现代门诊的高效运作需求。门诊作为医疗机构的前沿阵地,每天需要处理大量的患者信息和处方数据......
  • 基于Spring Boot成人自考本科教育网站设计与实现(源码+定制+讲解)在线自考教育管理系统
    博主介绍:  ✌我是阿龙,一名专注于Java技术领域的程序员,全网拥有10W+粉丝。作为CSDN特邀作者、博客专家、新星计划导师,我在计算机毕业设计开发方面积累了丰富的经验。同时,我也是掘金、华为云、阿里云、InfoQ等平台的优质作者。通过长期分享和实战指导,我致力于帮助更多学生......
  • springboot3整合mybatisplus问题Invalid value type for attribute 'factoryBeanObjec
    版本说明:JDK版本:17springboot版本:3.3.5问题分析:springboot版本与mybatisplus版本不兼容解决办法:将mybatisplus版本替换为以下版本<dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-spring-boot3-starter</artifactId><version>......
  • 【2024最新】基于springboot+vue的心灵治愈交流平台lw+ppt
    作者:计算机搬砖家开发技术:SpringBoot、php、Python、小程序、SSM、Vue、MySQL、JSP、ElementUI等,“文末源码”。专栏推荐:SpringBoot项目源码、Vue项目源码、SSM项目源码、微信小程序源码精品专栏:Java精选实战项目源码、Python精选实战项目源码、大数据精选实战项目源码......
  • Spring Bean 如何保证并发安全???
    SpringBean如何保证并发安全简单来说:1、可以设置Beon的作用域为原型,这样每次从容器中获取该Bean时,都会创建一个新的实例,避免了多线程共享同一个对象实例的问题2、在不改变Beon的作用域的情况下,可以避免在Beon中存在可变状态的声明,尽量将状态信息存在方法内部的局部变量中,......
  • 基于SpringBoot+Vue实现剧本杀服务平台【源码+LW+PPT+部署】
     作者简介:Java领域优质创作者、CSDN博客专家、CSDN内容合伙人、掘金特邀作者、阿里云博客专家、51CTO特邀作者、多年架构师设计经验、多年校企合作经验,被多个学校常年聘为校外企业导师,指导学生毕业设计并参与学生毕业答辩指导,有较为丰富的相关经验。期待与各位高校教师、企......
  • SpringBoot云南省大学生支教平台017q3程序+源码+数据库+调试部署+开发环境
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容一、研究背景云南省部分偏远地区教育资源匮乏,师资力量薄弱,制约了当地教育事业的发展。随着大学生社会责任感的增强,越来越多的青年选择投身支教事业......
  • SpringBoot游泳馆会员管理系统q26c5(程序+源码+数据库+调试部署+开发环境)
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容一、研究背景与意义随着健康意识的提升,游泳馆作为重要的健身场所,其会员管理效率直接影响到顾客体验和经营效益。传统的会员管理方式存在信息记录不......