JDBC中如何进行事务处理

 时间:2024-10-17 07:42:20

1、在jdbc中,默认事务是自动提交的,如果我们需要自己事务,我们代码需要手工控制事务的提交。package 艘早祓胂com.gwolf;import java.sql.Connection;import java.sql.DriverManager;import java.sql.SQLException;import java.sql.Statement;public class JdbcTest { public static void main(String[] args) { Connection conn=null; Statement stmt=null; try { Class.forName("oracle.jdbc.driver.OracleDriver"); conn = DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521:jdbctest", "test", "test"); conn.setAutoCommit(false); stmt = conn.createStatement(); stmt.addBatch("insert into dept values (51, '500', 'ccc')"); stmt.addBatch("insert into dept values (52, '600', 'ddd')"); stmt.addBatch("insert into dept values (53, '700', 'eee')"); stmt.executeBatch(); conn.commit(); conn.setAutoCommit(true); } catch (ClassNotFoundException e) { e.printStackTrace(); } catch(SQLException e) { e.printStackTrace(); try { if(conn != null) { conn.rollback(); conn.setAutoCommit(true); } } catch (SQLException e1) { e1.printStackTrace(); } }finally { if(conn != null) { try { conn.close(); } catch (SQLException e) { e.printStackTrace(); } } } }}

JDBC中如何进行事务处理

2、如果要手动控制事务,我们必须把jdbc自动提交事务关闭:conn.setAutoCommit(false);

JDBC中如何进行事务处理

3、接下来我们手动提交事务:conn.commit(); conn.setAutoCommit(true);

JDBC中如何进行事务处理

4、在异常处理中回滚整个事务。

JDBC中如何进行事务处理

5、切记一点,一定要在finally块中关闭数据库连接,释放资源。if(conn != null) { try { conn.close(); } catch (SQLException e) { e.printStackTrace(); } }

JDBC中如何进行事务处理

6、我们烂瘀佐栾这个事务业务代码如下:conn.setAutoCommit(false); stmt = conn.cr髫潋啜缅eateStatement(); stmt.addBatch("insert into dept values (541, '5020', 'c5cc')"); stmt.addBatch("insert into dept values (542, '6020', 'd5dd')"); stmt.addBatch("insert into dept values (534, '7020', 'e5ee')"); stmt.executeBatch(); conn.commit(); conn.setAutoCommit(true);

JDBC中如何进行事务处理
  • 如何在PYTHON里对字符串进行切片处理
  • 电脑软件卡死,关闭不了,怎么强制关闭
  • 如何为 Windows 10 上的特定事件静音
  • 如何彻底卸载SQL Server
  • Visual Studio2019如何安装SqlClient?
  • 热门搜索
    tm是什么意思 电脑用什么浏览器好 硫酸铝的作用 打call是什么意思 uid是什么意思 汽车天窗的作用 dismiss什么意思 怂恿的意思 叮咛是什么意思 权重是什么意思