zoukankan      html  css  js  c++  java
  • 事务的手动创建和提交

    对象注入:
    @Autowired
    private TransactionTemplate transactionTemplate;
    //或者
    TransactionTemplate transactionTemplate = SpringContextHolder.getBean(TransactionTemplate.class);
    
    核心执行方法:
    execute();					//需要有返回值执行方法
    executeWithoutResult();		//无返回值执行方法
    
    有返回值调用:

    实现 TransactionCallback的匿名对象,重写它的 doInTransaction方法把我们的操作放进去即可。

    	public boolean syncMiddle() {
            return transactionTemplate.execute(new TransactionCallback<Boolean>() {
                @Override
                public Boolean doInTransaction(TransactionStatus status) {
                    log.info("开始执行数据同步");
                    //do
                    log.info("数据同步执行完毕");
                    return true;
                }
            });
        }
    
    通过lamada表达式简化 :
    	public boolean syncMiddle() {
            return transactionTemplate.execute(status -> {
                log.info("开始执行数据同步");
                //do
                log.info("数据同步执行完毕");
                return true;
            });
        }
    
    无返回值调用:
    	public void syncMiddle() {
            transactionTemplate.executeWithoutResult(transactionStatus -> {
                log.info("开始执行数据同步");
                //do
                log.info("数据同步执行完毕");
            });
        }
    
  • 相关阅读:
    C#方法Extra
    C#方法
    C#类型与变量
    归并排序算法
    2020 CiGA Game Jam活动总结
    插入排序算法
    游戏开发随笔
    2019厦门大学信息学院人工智能/智能科学与技术系夏令营(非计算机系)
    基于Dlib、OpenCV开发人脸识别程序的开发建议
    CCF CSP 201703
  • 原文地址:https://www.cnblogs.com/dyaqi/p/15728537.html
Copyright © 2011-2022 走看看