国产成人AV无码一二三区,少女1到100集,国产精品久久久久精品综合紧,巜公妇之诱感肉欲HD在线播放

文章 > java基础 > java事务的类型有哪几个

java事务的类型有哪几个

头像

小妮浅浅

2021-01-19 14:39:124588浏览 · 0收藏 · 0评论

们说使用事务,可以同时处理程序中两种有关联的任务,在一定程序上也保证了程序处理的安全性。在了解了一些基础的事务后,进一步探讨事务的类型,可以分为:JDBC、JTA和容器事务。下面我们分别就事务中的这三种类型进行概念上的理解,并展示对应的实例使用。

1.JDBC事务

Connection 对象控制,JDBC 的 Connection 接口提供了两种事务模式:自动提交、手工提交。

 public void setAutoCommit(boolean)
 public boolean getAutoCommit()
 public void commit()
 public void rollback()

JDBC 为使用 Java 进行数据库的事务操作提供了最基本的支持。可以将多个 SQL 语句放到同一个事务中,保证其 ACID 特性。

涉及到多数据库的操作或者分布式场景,JDBC事务就无能为力了。

2.JTA(Java Transaction API)事务

JTA是一种高层的,与实现无关的,与协议无关的API,应用程序和应用服务器可以使用JTA来访问事务。JTA允许应用程序执行分布式事务处理--在两个或多个网络计算机资源上访问并且更新数据,这些数据可以分布在多个数据库上。JDBC驱动程序的JTA支持极大地增强了数据访问能力。

public void JtaTransfer() { 
        javax.transaction.UserTransaction tx = null;
        java.sql.Connection conn = null;
         try{ 
             tx = (javax.transaction.UserTransaction) context.lookup("java:comp/UserTransaction");  //取得JTA事务,本例中是由Jboss容器管理
             javax.sql.DataSource ds = (javax.sql.DataSource) context.lookup("java:/XAOracleDS");  //取得数据库连接池,必须有支持XA的数据库、驱动程序  
             tx.begin();
            conn = ds.getConnection();
             // 将自动提交设置为 false,
             //若设置为 true 则数据库将会把每一次数据更新认定为一个事务并自动提交
             conn.setAutoCommit(false);
             stmt = conn.createStatement(); 
             // 将 A 账户中的金额减少 500 
             stmt.execute("\
             update t_account set amount = amount - 500 where account_id = 'A'");
             // 将 B 账户中的金额增加 500 
             stmt.execute("\
             update t_account set amount = amount + 500 where account_id = 'B'");
             // 提交事务
             tx.commit();
             // 事务提交:转账的两步操作同时成功
         } catch(SQLException sqle){            
             try{ 
                 // 发生异常,回滚在本事务中的操做
              tx.rollback();
                 // 事务回滚:转账的两步操作完全撤销
                 stmt.close(); 
                 conn.close(); 
             }catch(Exception ignore){ 
             } 
             sqle.printStackTrace(); 
         } 
     }

3.容器事务

容器事务主要是J2EE应用服务器提供的,容器事务大多是基于JTA完成,这是一个基于JNDI的,相当复杂的API实现。

以上就是java事务的三种类型介绍,前两者都是比较常见的,关于容器事务这一点大家做一个知识的了解就可以了。看完本篇文章后,可以就其中的事务类型做一个尝试。

关注

关注公众号,随时随地在线学习

本教程部分素材来源于网络,版权问题联系站长!

国外黄冈站刺激战场| 亚州久久久久久精品A片69| 少女配狗播放视频| 琪琪在线影院电视剧免费| 黑科网 今日黑科| 51今日大瓜每日大赛往期内容 | 双男床上剧烈运动会怎么消除| 《乳牛牧场的奶牛娘》动漫免费观. | 梁祝艳谭5免费观看| 咬女生小头头视频| 7K7K影院免费观看电视剧大全 | 妈妈你真棒插曲快来救救我电影影| 《厨房激战5》完整版在线观看| 狂野少女高清免费观看第14集| 樱花视频在线观看免费高清电视剧| 公粗一夜6次挺进我的密道| 我在做饭他在下添好爽好硬| 小寡妇在线观看免费播放电视剧| 窝窝影院在线观看免费播放电视剧 | 美柚| 韩国《少妇的激情》| 女性扒开大腿内侧小肚子痒| 女人被公猪钻入子宫有报应吗| 可以进入任何网站的浏览器| 只有一根绳子遮住重要部位的视频| 爱的精灵| 没带置子让他C一节课| 在床上怎么骚一点| 《酒店激战》动漫1-5集免费观..| 快拨出天我是你母亲歌词监控| 爸爸经常出差妈妈给我生孩子| 国产免费观看高清电视剧在线观看| 乳腺增生| NYLONJP| 里番| WWW.17C嫩嫩草色视频蜜桃| 爱上兄弟的母亲6集免费观看| 《课后2对1特别授课》女主角是..| 少女哔哩唑哩免费高清观看2| 洞洞饿了1-36集全免费| 母与子免费观看大全电视剧邻居大..