Spring手动事务

//1.获取连接池对象

        DataSource dataSource = JDBCUtils.getDataSource();

        //2.创建jdbcTemplate实例

        JdbcTemplate template = new JdbcTemplate(dataSource);

        //3.启动事务管理器(将conn和当前线程做绑定)

        TransactionSynchronizationManager.initSynchronization();

        //4.获取连接 : 获取JdbcTemplate所使用的连接对象 

        Connection conn = DataSourceUtils.getConnection(dataSource);

        try {

            //5.将连接的事务,设置为手动事务提交

            conn.setAutoCommit(false);

            //===== 业务处理

            //=====

            // 提交事务

            conn.commit();

        } catch (Exception e) {

            e.printStackTrace();

            // 事务回顾

            try {

                conn.rollback();

            } catch (SQLException e1) {

                e1.printStackTrace();

            }

            // 将异常抛给调用者,告知执行失败

            throw e;

        } finally {

            // 将conn对象和当前线程解除绑定

            TransactionSynchronizationManager.clearSynchronization();

            // 修改为自动事务提交

            try {

                conn.setAutoCommit(true);

            } catch (SQLException e) {

                e.printStackTrace();

            }

        }

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • java事务的处理 转 https://www.cnblogs.com/Bonker/p/5417967.html...
    小小的Jobs阅读 5,381评论 0 1
  • 本文内容 1.什么是JDBC以及为什么要使用JDBC 2.JDBC核心API的讲解 3.使用JDBC核心API进行...
    Vincilovfang阅读 5,031评论 0 11
  • layout: posttitle: 数据库事务subtitle: 用法date: ...
    虫儿飞ZLEI阅读 3,153评论 0 0
  • 前几天,我偶然浏览家园网站,看见有网友把鲜明大桥旁花圃里樱花盛开的相片发在网上,相片上的樱花开得如火如荼,极其...
    江南央阅读 3,978评论 22 43
  • 不悔写春秋 文/石岩磊 唐代诗人杜牧在他的《山行》诗中写道:“停车坐爱枫林晚,霜叶红于二月花。”他将秋叶和春花相提...
    石岩磊简书阅读 4,476评论 16 33

友情链接更多精彩内容