jdbc事物描述_事物包括哪些

jdbc事物描述_事物包括哪些数据库事务数据一旦提交,就不可回滚那些操作会导致数据的自动提交?DDL操作一旦执行,都会自动提交-. set autocommit = false不起作用DML默认情况下,一旦执行就会自动提交-. 可以设置set autocommit = false关闭连接的时候会自动提交 Connection connection = DriverManager.getConnection(url, user, password); connection.setAutoCommit

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

数据库事务


数据一旦提交,就不可回滚
那些操作会导致数据的自动提交?

  1. DDL操作一旦执行,都会自动提交
    -. set autocommit = false不起作用
  2. DML默认情况下,一旦执行就会自动提交
    -. 可以设置set autocommit = false
  3. 关闭连接的时候会自动提交
		Connection connection = DriverManager.getConnection(url, user, password);
        connection.setAutoCommit(false);
        String sql1 = "update user_table set balance = balance - 100";
        update(connection,sql1,"AA");
        String sql2 = "update user_table set balance = balance + 100"
        update(connection,sql2,"BB");
        connection.commit();

注意 若Connection没有被关闭,还有可能被重复使用,则需要恢复其自动提交状态。尤其是在使用数据库连接池技术的时候。

事务的ACID属性

  1. 原子性(Atomicity):原子性是值事务是一个不可分割的工作单位,事务中的操作要么都发生,要么都不发生
  2. 一致性(Consistency):事务必须是数据库从一个一致性状态变换到另外一个一致性状态
  3. 隔离性(Isolation):事务的隔离性是指一个事物的执行不能被其他事务干扰,即一个事物内部的操作及使用的数据对冰法的其他事务是隔离的,并发执行的各个事物之间不能相互干扰
  4. 持久性(Durability):持久性是指一个事务一旦被提交,他对数据库中数据的改变就是永久性的,接下来的其他操作和数据库故障不应该对其有任何影响
    数据库的并发问题
  • 脏读:对于两个事务T1,T2,T1读取了已经被T2更新但还没有被提交的字段,之后,若T2回滚,T1读取的内容就是临时且无效的。
  • 不可重复读:对于两个事务T1,T2,T1读取了一个字段,然后T2更新了该字段,之后,T1再次读取同一个字段,值就不同了
  • 幻读:对于两个事务T1,T2,T1从一个表格中读取了一个字段,然后T2在该表格中插入了一些新的行,之后如果T1再次读取同一个表,就会多出几行。

四种隔离级别
在这里插入图片描述
jdbc事物描述_事物包括哪些
java中的事务操作举例

        Connection connection = DriverManager.getConnection(url, user, password);
        //获取当前数据库的隔离级别
        System.out.println(connection.getTransactionIsolation());
        //设置数据库的隔离级别
        connection.setTransactionIsolation(Connection.TRANSACTION_READ_COMMITTED);
        connection.setAutoCommit(false);
        String sql = "select user,password,balance = ? from user_table where user = ?";
        User user = getInstance(connection,User.class,sql,"CC");
        System.out.println();

        Connection connection = DriverManager.getConnection(url, user, password);

        connection.setAutoCommit(false);
        String sql = "update user_table set balance = ? where user = ?";
        update(connection,sql,5000,"CC");
        Thread.sleep(15000);
        System.out.println("修改结束");
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/168940.html原文链接:https://javaforall.net

(0)
上一篇 2022年8月8日 下午7:46
下一篇 2022年8月8日 下午7:46


相关推荐

  • pnp和npn开关电路区别图解_npn和pnp工作原理

    pnp和npn开关电路区别图解_npn和pnp工作原理模拟电路学的不好的我,遇到“管子”就有一种莫名的恐惧,一点也不想分析电路原理,只想知道这个“管子”用在这里起的啥作用,仅此就够了。三极管就是这样一种让我又爱又恨的“管子”,在我设计的电路中,用的还真的不少,每次都要查查是NPN还是PNP,低电平有效还是高电平有效。但是网络上的文章分析的对我来说都太复杂,所以想自己做一个SOP,记住最简单的用法就行了。最近分析一个电路,里面涉及到的主要是三…

    2026年1月29日
    4
  • 生成树协议STP、RSTP和MSTP原理的理解

    生成树协议STP、RSTP和MSTP原理的理解在组网中 很可能会出现环路或者称冗余链路 为避免形成广播风暴 需要一种方法来避免形成环路 并且在主链路故障中断时候 可以将冗余链路自动切换为转发状态 以恢复网络的连通性 生成树协议 STP RSTP MSTP 就可以实现这样的功能 STP 802 1D SpanningTree 生成树协议 基本思想将网络的拓扑修剪为树形拓扑 拓扑图形状与一棵树相似 这样就不会

    2026年3月19日
    3
  • java swing视频教程下载_JAVA Swing 教程

    java swing视频教程下载_JAVA Swing 教程JAVASwing教程,包含所有练习源码和讲解教程!初级界面篇练习01分解颜色练习02画板练习03帧练习04画布练习05密码验证界面练习06对话框练习07滚动条练习08边框练习09单选框图片浏览器练习10卡片布局管理器练习11边界布局管理器练习12进程条练习13列表框和组合框练习14选项卡练习15菜单练习16菜单快捷键练习17模式对话框练习18网格布局管理器练习19复选框练习20单选框练习21…

    2025年9月14日
    7
  • left join 基本用法

    left join 基本用法废话不多说 来看例子一 建表 导入测试数据 createtablet aidVARCHAR2 5 notnull carVARCHAR2 10 notnull createtablet bidVARCHAR2 5 notnull usernameVARC

    2026年3月19日
    2
  • 增强学习系列之(一):增强学习介绍

    增强学习系列之(一):增强学习介绍增强学习介绍

    2026年3月18日
    1
  • 弱网的概念以及弱网测试

    弱网的概念以及弱网测试什么是弱网测试在当今移动互联网盛行的时代 网络的形态除了有线连接 还有 2G 3G Edge 4G Wifi 等多种手机网络连接方式 不同的协议 不同的制式 不同的速率 使移动应用运行的场景更加丰富 从测试角度来说 需要额外关注的场景就远不止断网 网络故障等情况了 对于弱网的数据定义 不同的应用所界定的含义是不一样且不清晰的 不仅要考虑各类型网络最低速率 还要结合业务场景和应用类型去划分 按照移动

    2026年3月16日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号