温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

如何在java中使用JDBC事务

发布时间:2021-04-21 17:23:30 来源:亿速云 阅读:192 作者:Leah 栏目:编程语言

今天就跟大家聊聊有关如何在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事务有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注亿速云行业资讯频道,感谢大家的支持。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI