数据连接池druid事务管理

  • Post author:
  • Post category:其他




事务管理

开启事务:setAutoCommit(boolean)true为自动提交,false为手动提交

commit()提交事务手动提交事务

rollback();事务回滚,返回到事务开始前状态

try{

conn.setAutoCommit(false);开启事务,并设置为手动提交

执行sql语句

conn.commit()提交事务

}catch{

conn.rollback();事务回滚

}

package com.wc.daomain;

import org.springframework.context.support.ClassPathXmlApplicationContext;

import javax.sql.DataSource;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;

public class JDBC {
    private DataSource source = (DataSource) new ClassPathXmlApplicationContext("applicationContext.xml").getBean("dataSource");

    public static void main(String[] args) throws SQLException {
        Connection conn = new JDBC().source.getConnection();
        try {

            conn.setAutoCommit(false);
            String sql = "insert into tb_test values (12) ";
            PreparedStatement pp = conn.prepareStatement(sql);
            int i = pp.executeUpdate();
            int num = 3 / 0;
            int i1 = pp.executeUpdate("insert into tb_test values (15)");
            conn.commit();
            try {
                pp.close();
            } finally {

            }
        } catch (SQLException e) {
            conn.rollback();
            e.printStackTrace();
        } finally {
            conn.close();
        }


    }
}




版权声明:本文为c_chuxuezhe_原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。