首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

JDBC-事务

提示:事务处理这个机制是数据库的机制,JDBC只是可以控制事务的提交和回滚。 事务什么情况下结束?当事务提交或回滚时即结束事务。...JDBC事务操作: 事务分为自动事务和手动事务,这两者有一定的区别需要记住。...手动事务: 在手动事务的情况下,需要自己调用提交或回滚来接结束事务,不然事务处理不会结束,手动事务有自定义的好处,而且能够自己判断语句的操作结果是否是自己想要的,如果不是自己想要的就可以进行回滚,是自己想要的操作结果才提交...进入正题:通过JDBC来控制事务处理: 在JDBC里使用Connection对象,调用setAutoCommit方法来开启事务,这个方法会要求传递一个参数,传递true则表示使用自动事务处理,传递false...事务还可以分为自动事务和手动事务,在不开启手动事务的情况下等于使用自动事务,而且事务还能开启多次,新的事务要在上一个事务结束后才能再次开启。   事务思维导图: ?

46320
您找到你想要的搜索结果了吗?
是的
没有找到

JDBC事务控制管理

今天的学习内容是JDBC事务控制管理。 首先是概念性的内容 事务指逻辑上的一组操作,组成这组操作的各个单元,要么全部成功,要么全部不成功。这是我对于事务的理解。...这样事务的基本操作都在控制台进行了对应的练习,接下来我们了解一下JDBC在项目中是如何控制事务的。...为了方便接下来的数据库操作,我先写了一个简易的JDBC工具类,新建JDBCUtils.java文件 /** * JDBC 工具类,抽取公共方法 * * @author seawind *...在程序代码中,JDBC是会自动提交我们的事务的,我们可以通过Connection类的setAutoCommit(false)方法来关闭自动提交,从而获得控制事务提交的权利。...三个账户的余额均没有发生变化,说明两句sql语句被回滚了,当你删掉错误代码,重新运行,发现表数据被相应地修改了,这样就达到了事务管理的目的。 这是基本的JDBC控制事务的方法了。

1.2K10

JDBC事务事务隔离级别详解

isolation(隔离性)     事务查看数据时数据所处的状态,要么是另一并发事务修改它之前的状态,要么是另一事务修改它之后的状态,事务不会查看中间状态的数据。...它满足了隔离的简单定义:一个事务只能看见已经提交事务所做的改变。...由以上的实验可以得出结论,可重复读隔离级别只允许读取已提交记录,而且在一个事务两次读取一个记录期间,其他事务部的更新该记录。但该事务不要求与其他事务可串行化。...(四)、将A的隔离级别设置为 可串行化 (Serializable) A端打开事务,B端插入一条记录 事务A端: ? 事务B端: ?...因为此时事务A的隔离级别设置为serializable,开始事务后,并没有提交,所以事务B只能等待。 事务A提交事务事务A端: ? 事务B端: ?

79010

JDBC事务、元数据、改造JDBC工具类】

* 我们来模拟A向B账号转账的场景 * A和B账户都有1000块,现在我让A账户向B账号转500块钱 * * */ //JDBC...---- 我们可以通过事务来解决上面出现的问题 //开启事务,对数据的操作就不会立即生效。...注意:savepoint不会结束当前事务,普通提交和回滚都会结束当前事务的 ---- 事务的隔离级别 数据库定义了4个隔离级别: Serializable【可避免脏读,不可重复读,虚读】 Repeatable...---- 不可重复读:一个事务读取到另外一个事务已经提交的数据,也就是说一个事务可以看到其他事务所做的修改 注:A查询数据库得到数据,B去修改数据库的数据,导致A多次查询数据库的结果都不一样【危害:A每次查询的结果都是受...ParameterMetaData --参数的元数据 ResultSetMetaData --结果集的元数据 DataBaseMetaData --数据库的元数据 ---- 3.改造JDBC工具类 问题

75680

JDBC数据库事务

数据库事务介绍 事务:一组逻辑操作单元,使数据从一种状态变换到另一种状态。 事务处理(事务操作):保证所有事务都作为一个工作单元来执行,即使出现了故障,都不能改变这种执行方式。...JDBC事务处理 数据一旦提交,就不可回滚。...JDBC程序中为了让多个 SQL 语句作为一个事务执行: 调用 Connection 对象的 setAutoCommit(false); 以取消自动提交事务 在所有的 SQL 语句都成功执行后...隔离性(Isolation) 事务的隔离性是指一个事务的执行不能被其他事务干扰,即一个事务内部的操作及使用的数据对并发的其他事务是隔离的,并发执行的各个事务之间不能互相干扰。...数据库事务的隔离性: 数据库系统必须具有隔离并发运行各个事务的能力, 使它们不会相互影响, 避免各种并发问题。 一个事务与其他事务隔离的程度称为隔离级别。

17520

jdbc数据库事务

数据库事务介绍 事务:一组逻辑操作单元,使数据从一种状态变换到另一种状态。 事务处理(事务操作):保证所有事务都作为一个工作单元来执行,即使出现了故障,都不能改变这种执行方 式。...JDBC事务处理 数据一旦提交,就不可回滚。 数据什么时候意味着提交?...JDBC程序中为了让多个 SQL 语句作为一个事务执行: 调用 Connection 对象的 setAutoCommit(false); 以取消自动提交事务 在所有的 SQL 语句都成功执行后,调用...隔离性(Isolation) 事务的隔离性是指一个事务的执行不能被其他事务干扰,即一个事务内部的操作及使用的 数据对并发的其他事务是隔离的,并发执行的各个事务之间不能互相干扰。 4....数据库事务的隔离性: 数据库系统必须具有隔离并发运行各个事务的能力, 使它们不会相互影响, 避免各种并发问 题。 一个事务与其他事务隔离的程度称为隔离级别。

37820

JDBC事务回滚

JDBC事务回滚 首先,什么是 事务回滚 ?  ...理解:防止出现未知错误,导致原先要执行完全的数据只执行了一半,最终影响数据,也就是 事务是一组组合成逻辑工作单元的操作,虽然系统中可能会出错,但事务将控制和维护事务中每个操作的一致性和完整性。...JDBC事务回滚的语法说明 基础语法: conn.setAutoCommit(boolean) :设置是否为自动提交事务,如果true(默认值为true)表示自动提交,也就是每条执行的SQL语句都是一个单独的事务...JDBC Savepoint帮我们在事务中创建检查点(checkpoint),这样就可以回滚到指定点。当事务提交或者整个事务回滚后,为事务产生的任何保存点都会自动释放并变为无效。...{ public static final String URL = "jdbc:mysql://localhost:3306/test?

1.6K20

JDBC 处理事务(11)

4)事务的ACID(acid)属性 原子性:原子性是指事务是一个不可分割的工作单位,事务中的操作要么都发生,要么都不发生。...一致性:事务必须使数据库从一个一致性状态变换到另外一个一致性状态 隔离性:事务的隔离性是指一个事务的执行不能被其他事务干扰,即一个事务内部的操作及使用的数据对兵法的其他事务是隔离的,并发执行的各个事务之间不能互相干扰...持久性:持久性是指一个事务一旦被提交,它对数据库中数据的改变就是永久性的,接下来的其他操作和数据库故障不应该对其有任何影响 JDBC 事务处理 1)事务:指构成单个逻辑工作单元的操作集合 2)事务处理...testTransaction() throws SQLException, ClassNotFoundException { String driverClass = "com.mysql.jdbc.Driver...() throws SQLException { String driverClass = "com.mysql.jdbc.Driver"; String jdbcurl

27110

JDBC的数据库事务

同样,当事务执行过程中发生错误时,需要有一种方法使数据库忽略当前的状态,并回到前面保存的程序状态。这两种情况在数据库用语中分别称为提交事务和回滚事务。...为了处理这两种情况,JDBC API     包括了两个方法commit()和rollback(),分别用于实现事务的提交和回滚。...多数主流的数据库支持不同类型的锁;因此,JDBC API支持不同类型的事务,它们由 Connection对象的setTransactionLevel方法指定。...在JDBC API中可以获得下列事务级别: TRANSACTION_NONE 说明不支持事务。...    你也可以使用getTransactionLevel()方法来获取当前事务的级别:     con.getTransactionLevel();     在默认情况下,JDBC驱动程序运行在

64140

Spring JDBC事务管理

Spring JDBC事务管理 一.Spring JDBC 1.Spring JDBC简介 2.Spring JDBC的使用步骤 3.Spring JDBC的配置过程 4. jdbcTemplate的数据查询的方法...5. jdbcTemplate的数据写入的方法 二.Spring编程式事务 三.Spring声明式事务 四.事务传播行为 五.注解配置声明式事务 本节,开始学习Spring JDBC模块与事务管理。...说起JDBC我们一定不陌生,JDBC可以让我们使用Java程序去访问数据库。那作为Spring生态体系,肯定对JDBC也有良好的支持。所以这一篇博客,着重讲解Spring JDBC事务管理。...但是一涉及到写操作就要想到事务。下面就来学习。 二.Spring编程式事务 从本节开始,我们来了解一下Spring JDBC中如何进行事务管理。...编程式事务:编程式事务,就是指通过代码手动提交回滚的事务控制方法。Spring JDBC通过TransactionManager事务管理器实现事务控制。

51020

JDBC 事务的隔离级别(12)

对于同时运行的多个事务,当这些事务访问数据库中相同的数据时,如果没有采取必要的隔离机制,就会导致各种并发问题 1)脏读:对于两个事务T1,T2,T1读取了已经被T2更新但还没有被提交的字段之后,若T2回滚...数据库事务的隔离性:数据库系统必须具有隔离并发运行各个事务的能力,使它们不会相互影响,避免各种并发问题 3. 一个事务与其他事务隔离的程度称为隔离级别。...) 允许事务读取未被其他事务提交的变更,脏读,不可重复读和幻读的问题都会出现 READ COMMITED(读已提交数据) 只允许事务读取已经被其它事务提交的变更,可以避免脏读,但不可重复读和幻读问题仍然可能出现...public void myTest() throws ClassNotFoundException, SQLException { Class.forName("com.mysql.jdbc.Driver..."); String url = "jdbc:mysql://localhost:3306/mydb"; String sql = "SELECT balance FROM

1K10

JDBC系列--登录练习和事务控制

user where username = "" and password = ""; 如果这个sql有查询结果,则成功反之失败 数据库 更改配置文件即可 代码 package cn.caq.jdbc...复制代码 JDBC控制事务 1.事务:一个包含多个步骤的业务操作。如果这个业务操作被事务管理,则这多个步骤要么同时成功,要么同时失败。...2.操作: 1.开后事务 2.提交事务 3.回滚事务 3.使用connection对象来管理事务 开启事务: setAutoCommit(boolean autoCommit) :调用该方法设置参数为...false,即开后事务 在执行sql之前开启事务 提交事务: commit() 当所有sql都执行完提交事务 回滚事务: rollback() 在catch中回滚事务 转账实例 package...输出结果为: java.lang.ArithmeticException: / by zero at cn.caq.jdbc.JDBCDemo10.main(JDBCDemo10.java

16300
领券