文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Java与Oracle实现事务(JDBC事务)实例详解

2023-05-31 13:29

关注

Java与Oracle实现事务(JDBC事务)实例详解

J2EE支持JDBC事务、JTA事务和容器事务事务,这里说一下怎样实现JDBC事务。

       JDBC事务是由Connection对象所控制的,它提供了两种事务模式:自己主动提交和手动提交,默认是自己主动提交。

       自己主动提交就是:在JDBC中。在一个连接对象Connection中。默认把每一个SQL语句的运行都当做是一个事务(即每次运行完SQL语句都会马上将操作更新到数据库)。

       手动提交就是:当须要一次性运行多个SQL语句,将多个SQL语句组成一个事务(即要么都成功,要么回滚全部的操作)时,就得手动提交。

        看一个样例:       

import java.sql.*;public class TransactionTest{public static void main(String[] args) throws SQLException { try {     Class.forName("oracle.jdbc.driver.OracleDriver");        Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521:orcl","TransactionTest","123456");          //将事务模式设置为手动提交事务:        conn.setAutoCommit(false);          //设置事务的隔离级别。        conn.setTransactionIsolation(Connection.TRANSACTION_REPEATABLE_READ);         //运行插入操作        String sqlInsert = "insert into t_user(userName,userPassword) values(?,?)";                pstmt = conn.prepareStatement(sqlInsert);        pstmt.setString(1, "danny");        pstmt.setString(2, "123");        pstmt.executeUpdate();   //运行改动操作        String sqlUpdate = "update t_user set userPassword=? where userName = ?";        pstmt = conn.prepareStatement(sqlUpdate);        pstmt.setString(1, "123456");        pstmt.setString(2, "danny");                pstmt.executeUpdate();          //提交事务        conn.commit();        } catch (Exception e) {                // 若事务发生异常,回滚事务        conn.rollback();      }finally{                if (pstmt!=null) {          pstmt.close();        }        if (conn!=null) {          conn.close();        }      }}}

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 资料下载
  • 历年真题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯