数据回滚
public class DataBaseTransaction {
Connection con = null;
public void testTransaction(){
try{
con.setAutoCommit(false);
Statement stmt = con.createStatement();
for(int i=0; i<2; i++)
stmt.execute("insert into user values(" + i + ",'ddd',24)");
System.out.println("before commit, the tables is :::::::");
viewTable();
con.commit();
System.out.println("after commit, the table is ::::::::");
viewTable();
} catch (Exception e) {
e.printStackTrace();
System.out.println("error");
try{
con.rollback();
}catch(SQLException se){
System.out.println("fatal error occur");
}
}
}
public void viewTable(){
try{
ResultSet rst = con.createStatement().executeQuery("select * from user");
while(rst.next()){
System.out.println(rst.getString("id"));
}
rst.close();
} catch(Exception e){
e.printStackTrace();
}
}
public static void main(String args[]) throws SQLException, InstantiationException, IllegalAccessException, ClassNotFoundException{
Class.forName("org.gjt.mm.mysql.Driver").newInstance();
DataBaseTransaction test = new DataBaseTransaction();
test.con = java.sql.DriverManager.getConnection("jdbc:mysql://127.0.0.1/test","root","123456"); //跟据各人的数据而定
test.testTransaction();
}
}
分享到:
相关推荐
本实例将详细讲解如何在C#中实现简单的事务回滚功能,以应对在执行多条SQL语句时可能出现的错误。 首先,我们需要理解事务的基本概念。事务是数据库操作的基本单元,它包含一组操作,这些操作要么全部成功,要么...
在这个“spring简单实例 事务回滚”的案例中,我们将深入探讨Spring如何处理事务回滚,以及它是如何在Java源码层面实现这一功能的。 首先,让我们理解什么是事务。在数据库操作中,事务是确保数据一致性的重要机制...
在这个例子中,`createUser`方法被标记为事务性的,如果在方法内部抛出未捕获的异常,Spring会自动回滚事务,确保数据一致性。 Spring事务管理的工作流程大致如下: 1. **AOP代理**:Spring使用AOP(面向切面编程)...
在探讨数据库事务回滚机制实例之前,我们先来理解一下什么是数据库事务以及为什么需要事务管理。数据库事务(Transaction)是指一组逻辑操作单元,这组操作要么全部成功,要么全部失败,是一个不可分割的工作单位。...
1.QQ:513187410 2.保证无毒 3.简单,方便,实用 4.实例可以自行改用 5.如有非法,本人无法律责任,由改动代码人负责! 6.需要更多本人作品,查找标签“朱建强” 7.请下载,杀毒后再使用!
java 应用程序操作数据库实例,若出现sql异常则事务回滚。
本文主要关注的是声明式事务管理,尤其是涉及到事务异常回滚的实例解析。 首先,Spring 默认只有在遇到未捕获的 `RuntimeException` 或其子类时才会触发事务回滚。这意味着,如果在业务代码中对异常进行了捕获并...
本实例将深入探讨如何在MySQL中实现事务的提交和回滚。 首先,MySQL提供了开始事务、提交事务和回滚事务的命令。`START TRANSACTION` 或 `BEGIN` 用于开启一个事务,`COMMIT` 用于提交事务,而 `ROLLBACK` 则用于...
本文将深入探讨如何在MySQL中实现事务的提交和回滚,以及通过实例来演示如何利用存储过程来捕获异常,以达到精确控制事务的目的。 事务的提交(COMMIT)意味着确认事务中的所有操作,使其永久保存到数据库。而回滚...
三、事务回滚实例 以下是一个简单的示例,展示如何使用`@Transactional`实现事务回滚: ```java @Service public class UserService { @Autowired private UserRepository userRepository; @Transactional...
私有回滚段通常在实例启动时自动设为在线,可以在参数文件中通过`ROLLBACK_SEGMENTS`指定。公共回滚段常见于OPS(Oracle并行服务器)环境。私有回滚段应尽量放在快速的本地设备上。 3. **DEFERRED回滚段**:这种...
在这个“简单的数据岛实例”中,我们很可能会学习如何创建和管理这些数据片段,以及如何利用Recordset对象在这些岛屿之间高效地移动和操作数据。理解并熟练掌握这些知识点对于构建高性能、低延迟的数据访问应用至关...
如果事务最终需要回滚(通过`ROLLBACK`命令),则Oracle数据库会利用回滚段中的数据前影像将已修改的数据恢复到原始状态。此外,在事务处理过程中如果遇到实例失败(例如服务器故障),回滚段中记录的信息会被保存在...
2. **事务恢复**:在数据库实例故障后,Oracle使用重做日志文件中的回滚信息恢复未提交的事务,保证数据的一致性。 3. **读一致性**:Oracle通过回滚段提供读一致性,使得在事务执行期间,其他会话看不到该事务未...
3. **数据窗口操作**:实例可能包含对数据窗口的各种操作,如加载数据(LoadData)、提交更改(SubmitChanges)、回滚更改(CancelChanges)以及执行查询(ExecuteQuery)。 4. **事件驱动编程**:PB11支持事件驱动...
Oracle 回滚段是 Oracle 数据库中的一种重要组件,它用于保存数据库修改前的数据,以便在需要时可以通过 ROLLBACK 命令恢复到修改前的数据。回滚段的设置对数据库的性能产生直接影响,特别是在更新密集的 OLTP 应用...
每个 Oracle 数据库实例都包含至少一个回滚段,不管事务是否被提交,被事务改变了的数据的旧值都将记录在回滚段中。回滚段的工作方式可以简单概括为自动扩展、循环分配。 二、回滚段常见故障分析 如果回滚段出现...
当一个回滚操作(无论是并行实例恢复会话还是用户执行的回滚语句)持续超过6秒,它就会在这个视图中显示。通过查询V$SESSION_LONGOPS,特别是针对特定会话的time_remaining列,可以获取剩余回滚时间的精确估计。 ...