专注Java教育14年 全国咨询/投诉热线:400-8080-105
动力节点LOGO图
始于2009,口口相传的Java黄埔军校
首页 hot资讯 告诉你如何在JDBC中开启事务

告诉你如何在JDBC中开启事务

更新时间:2022-10-13 10:02:21 来源:动力节点 浏览1235次

如何在JDBC中开启事务?动力节点小编来告诉大家。事务是针对数据库执行的工作单元。事务是按逻辑顺序完成的工作单元或序列,无论是由用户以手动方式还是由某种数据库程序自动完成。

事务是对数据库的一项或多项更改的传播。例如,如果您正在创建记录或更新记录或从表中删除记录,那么您正在对该表执行事务。控制这些事务以确保数据完整性和处理数据库错误非常重要。

结束交易

执行所需操作后,您可以使用 commit 命令结束/保存事务。在 JDBC 应用程序中,您可以使用连接接口的commit()方法来执行此操作。

每当事务中出现问题时,您都可以使用回滚恢复数据库中所做的更改。

开始交易

一般来说,在 JDBC 中,在您建立连接后,默认情况下,您的连接将处于自动提交模式,即您使用此连接执行的每条语句都会自动保存,这意味着数据库管理自己的事务和每个单独的 SQL 语句被视为交易。

您可以通过关闭自动提交模式来启用手动事务支持。为此,您需要将布尔值 false 传递给Connection接口的setAutoCommit()方法。

conn.setAutoCommit(false);

例子

以下程序使用批处理将数据插入到该表中。这里我们将自动提交设置为false,将所需的语句添加到批处理中,执行批处理然后自己提交数据库。

onth_Of_Dispatch , Price, Location) VALUES "
         + "('KeyBoard', 'Amith', 'January', 1000, 'hyderabad')";
      String insert2 = "INSERT INTO Dispatches( Product_Name , Name_Of_Customer , "
         + "Month_Of_Dispatch , Price, Location) VALUES "
         + "('Earphones', 'SUMITH', 'March', 500, 'Vishakhapatnam')";
      String insert3 = "INSERT INTO Dispatches( Product_Name , Name_Of_Customer , "
         + "Month_Of_Dispatch , Price, Location) VALUES "
         + "('Mouse', 'Sudha', 'September', 200, 'Vijayawada')";
      //Adding the statements to the batch
      stmt.addBatch(insert1);
      stmt.addBatch(insert2);
      stmt.addBatch(insert3);
      //Executing the batch
      stmt.executeBatch();
      //Saving the changes
      con.commit();
      System.out.println("Records inserted......");
   }
}

输出

Connection established......
Records inserted......

 

提交申请后,顾问老师会电话与您沟通安排学习

免费课程推荐 >>
技术文档推荐 >>