栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

spring事务管理

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

spring事务管理

Spring事务管理
    • Spring事务管理
        • 编程式事务管理
        • 声明式事务管理

本章节基于 SpringBoot讲解 Spring的事务管理,使用的事务管理器是 org.springframework.jdbc.datasource.DataSourceTransactionManager

Spring事务管理 编程式事务管理
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.datasource.DataSourceTransactionManager;
import org.springframework.stereotype.Service;
import org.springframework.transaction.TransactionDefinition;
import org.springframework.transaction.TransactionStatus;
import org.springframework.transaction.annotation.Transactional;

import java.util.Date;

@Service
public class UserServiceImpl extends ServiceImpl implements UserService {

    @Autowired
    private UserMapper userMapper;

    @Autowired
    private DataSourceTransactionManager dataSourceTransactionManager;

    @Autowired
    private TransactionDefinition transactionDefinition;

    
    @Override
    public void saveUserByBCS() {
        TransactionStatus transaction = dataSourceTransactionManager.getTransaction(transactionDefinition);
        try {
            User user1 = new User("景天",16,"永安当","18253777428","320677188993166542",new Date());
            userMapper.insert(user1);
            User user2 = new User("唐雪见",15,"唐家","18253777426","320677188993166540",new Date());
            userMapper.insert(user2);
            int i = 1/0;
            dataSourceTransactionManager.commit(transaction);
            System.out.println("========事务提交!========");
        } catch (Exception e) {
            e.printStackTrace();
            dataSourceTransactionManager.rollback(transaction);
            System.out.println("========事务回滚!========");
        }
    }
}
声明式事务管理
	
    @Transactional(rollbackFor = Exception.class)
    @Override
    public void saveUserBySMS() {
        User user1 = new User("萧炎",16,"斗气大陆萧家","18253777411","320677188993166556",new Date());
        userMapper.insert(user1);
        User user2 = new User("古薰儿",14,"斗气大陆古族","18253777414","320677188993166557",new Date());
        userMapper.insert(user2);
        int i = 1/0;
    }
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1021317.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号