如何通过JDBC连接MYSQL数据库(三)

来源:互联网 发布:java 调用静态方法 编辑:程序博客网 时间:2024/06/06 17:46

4.事务处理

在数据库操作中,一项事务是指由一条或多条对数据库更新的SQL语句所组成的一个不可分割的工作单元。只有当事务中的所有操作都正常完成,整个事务才能被提交到数据库;如果有一项操作没有完成,就必须撤销这个事务。

在JDBC API中,默认情况下是自动提交事务。也就是说,每一条对数据库更新的SQL语句代表一个事务,操作成功后,系统将自动调用commit()来提交。否则将调用rollback()撤销事务。可以通过调用setAutoCommit(false)来禁止自动提交事务。然后就可以把多个SQL语句作为一个事务,在所有操作完成后,在调用commit()来进行整体提交。若其中有一项失败,就不会执行commit(),而是产生相应的SQLException,此时,在捕获异常的代码中调用rollback()方法撤销事务。示例代码如下:

try{

Connection con = java.sql.DriverManager.getConnection(dbUrl,dbuser,dbPwd);

con.setAutoCommit(false);

stmt = con.createStatement();

stmt.executeUpdate(sql1);

stmt.executeUpdate(sql2);

con.commit();

}

catch(Exception e)

{

e.printStackTrace();

try{

con.rollback();

}

catch(Exception ex)

{

e.printStackTrace();

}

}finally

{

try{

stmt.close();

con.close();

}catch(Exception ex){

e.printStackTrace();

}

}

原创粉丝点击