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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • VAP简单解读_vip是什么意思

    VAP简单解读_vip是什么意思https://cloud.tencent.com/developer/article/1693852特点:1.先前市面已有开源方案,并非先例2.kotlin语言3.代码量较小,很快就能理解大致逻辑4.需要使用ffmpeg工具进行动画视频的二次处理基本原理:输入mp4文件->MediaExtractor->音频->AudioTrack->视频->Surface…

    2025年8月10日
    2
  • 中国十佳IT外包企业排行榜「建议收藏」

    中国十佳IT外包企业排行榜「建议收藏」“东软”集团股份有限公司在众多外包厂商还在为利润率达到15%而挣扎时,东软早已轻松迈上了20%的利润率大关。从甲方转向乙方的背景,A股的融资渠道,多年的本土运营关系,都成为助推东软快速成长的有力因素。东软是中国最大的离岸软件外包提供商。作为一家以软件技术为核心的公司,东软通过开放式创新、卓越运营管理、人力资源发展等战略的实施,全面构造公司的核心竞争力,创造客户和社会的价值,从而实现技术的价值。东软…

    2022年4月29日
    391
  • 其实就是为了能有字幕特效,用MeGUI + AVS压制PSP MP4AVC视频02 – 安装准备篇

    其实就是为了能有字幕特效,用MeGUI + AVS压制PSP MP4AVC视频02 – 安装准备篇简要流程:1、装.netframework2.0,装好了推荐重启下。2、安装MeGUI,安装界面神奇的是中文,我想不会有人有问题吧。3、启动MeGUI。第一次运行会自动搜索编码器升级。可以看到除了主程序都是在这里下载的,泪。点击Update,慢慢等吧。在升级过程中会提示你导入需要的配置方案,其中我们只需要PSP相关的…

    2022年10月16日
    2
  • 刘宇凡:苍井空卖内衣 典型的情怀产品

    刘宇凡:苍井空卖内衣 典型的情怀产品

    2022年2月1日
    36
  • 我的世界虚拟人生下载_我的世界虚拟人生手机版

    我的世界虚拟人生下载_我的世界虚拟人生手机版以下就是小编我为大家准备的一些资料,希望对大家有所帮助,我的世界虚拟人生mod可以让游戏中的村庄和村民变得像电脑游戏模拟人生那样,玩家可以在村庄里进行各种与现实生活类似的活动,并且还可以与村民进行更为复杂的互动,比如结婚生子、聊天交易等等。并且村民的外观也会变得更加生动,不再是原来的发出怪声的大鼻子村民了。虚拟人生mod玩法介绍:1、村民互动互动的选项有很多,但是不一定每个都成功。聊天、开玩笑、给…

    2025年5月25日
    2
  • Echarts 地图生成 以及生成geojson文件(附带完整代码)

    Echarts 地图生成 以及生成geojson文件(附带完整代码)前言:需要实现的效果就是生成省级地图,点击省级地图中的市切换至市级地图。为了自己方便查阅,也方便大家使用。效果如下:所用的插件echarts.js官方地址:http://echarts.baidu.com/examples/使用方法:1、头部引入(官网下载地址:点这里下载文件)<!–引入ECharts文件–><scriptsr…

    2025年6月14日
    4

发表回复

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

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