如何在java中使用JDBC事务
今天就跟大家聊聊有关如何在java中使用JDBC事务,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。
Java的特点有哪些
Java的特点有哪些1.Java语言作为静态面向对象编程语言的代表,实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。2.Java具有简单性、面向对象、分布式、安全性、平台独立与可移植性、动态性等特点。3.使用Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等。
1.JDBC对事务的支持
JDBC 提供了5种不同的事务隔离级别,在 Connection 中进行了定义。
TRANSACTION_NONE JDBC 驱动不支持事务TRANSACTION_READ_UNCOMMITTED 允许脏读、不可重复读和幻读。TRANSACTION_READ_COMMITTED 禁止脏读,但允许不可重复读和幻读。TRANSACTION_REPEATABLE_READ 禁止脏读和不可重复读,单运行幻读。TRANSACTION_SERIALIZABLE 禁止脏读、不可重复读和幻读。
2.执行步骤
(1)设置事务的提交方式为非自动提交:conn.setAutoCommit(false);
(2)将需要添加事务的代码放入try,catch块中。
(3)在try块内添加事务的提交操作,表示操作无异常,提交事务:conn.commit();尤其不要忘记,在catch块内添加回滚事务,表示操作出现异常,撤销事务:conn.rollback();(4)设置事务提交方式为自动提交:conn.setAutoCommit(true)。
3.实例
try (Connection c = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/how2java?characterEncoding=UTF-8","root", "admin"); Statement s = c.createStatement();) { // 有事务的前提下 // 在事务中的多个操作,要么都成功,要么都失败 c.setAutoCommit(false); // 加血的SQL String sql1 = "update hero set hp = hp +1 where id = 22"; s.execute(sql1); // 减血的SQL // 不小心写错写成了 updata(而非update) String sql2 = "updata hero set hp = hp -1 where id = 22"; s.execute(sql2); // 手动提交 c.commit(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } }
看完上述内容,你们对如何在java中使用JDBC事务有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注编程网行业资讯频道,感谢大家的支持。
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341