当前位置: 首页 > news >正文

建设集团网站的作用网站建设公司权威排名

建设集团网站的作用,网站建设公司权威排名,php做的网站有,金华电子商务网站建设事务的ACID属性#xff1a;原子性(Atomicity )、一致性( Consistency )、隔离性或独立性( Isolation)和持久性(Durabilily) ACID 特性 A#xff08;原子性#xff09;事务的原子操作单元#xff0c;对数据的修改#xff0c;要么全部执行#xff0c;要么全部不执行#x…事务的ACID属性原子性(Atomicity )、一致性( Consistency )、隔离性或独立性( Isolation)和持久性(Durabilily) ACID 特性 A原子性事务的原子操作单元对数据的修改要么全部执行要么全部不执行 C一致性在事务开始和完成时数据必须保持一致状态相关的数据规则必须应用于事务的修改以保证数据的完整性事务结束时所有的内部数据结构必须正确 I隔离性保证事务不受外部并发操作影响的独立环境执行 D持久性事务完成之后对于数据的修改是永久的即使系统出现故障也能够保持 一、Java事务管理 Java事务管理有三种类型 JDBC事务、JTAJava Transaction API事务、容器事务 1.1 JDBC事务 JDBC的一切行为包括事务是基于一个Connection的JDBC通过Connection对象进行事务管理。常用的事物相关方法是setAutoCommit\commit\rollback等 下面是一个简单的JDBC事务方法 public void JdbcTransfer() {java.sql.Connection conn null;Statement stmt null;try {conn conn DriverManager.getConnection(jdbc:oracle:thin:host:1521:SID, username, userpwd);// 将自动提交设置为 false// 若设置为 true 则数据库将会把每一次数据更新认定为一个事务并自动提交conn.setAutoCommit(false);stmt conn.createStatement();// 将 A 账户中的金额减少 500stmt.execute(update t_account set amount amount - 500 where account_id A);// 将 B 账户中的金额增加 500stmt.execute(update t_account set amount amount 500 where account_id B);// 提交事务conn.commit();// 事务提交转账的两步操作同时成功} catch (SQLException e) {try {// 发生异常回滚在本事务中的操做conn.rollback();// 事务回滚转账的两步操作完全撤销stmt.close();conn.close();} catch (Exception ignore) {}e.printStackTrace();} }JDBC事务的优点 接口较为简单性能较好 缺点 不支持多数据库的事务 1.2 JTA事务 Java事务APIJava Transaction API简称JTA Java事务服务Java Transaction Service简称JTS JTA和JTS一起为J2EE平台提供了分布式事务服务。JTA只提供接口没有具体的实现需要J2EE服务提供商根据JTS规范提供常见的JTA实现方式 J2EE容器提供的JTA实现如JBOSS独立的JTA实现如JOTM、Atomikos。这些实现可以应用在哪些不适用J2EE应用服务器的环境里以提供分布式事务保证。如Tomcat、Jetty以及普通的java应用 JTA提供了 java.transaction.UserTransaction里面定义了下面的方法 begin开启一个事务commit提交一个事务rollback回滚一个事务setRollBackOnly把当前事务标记为回滚setTransactionTimeout设置事务的时间超过这个时间就抛出异常回滚事务 另外不是使用了UserTransaction就能把普通的JDBC操作直接转成JTA操作JTA对DataSource、Connection与Resource都是有要求的只有符合XA规范并且实现了XA规范的相关接口的类才能参与到JTA事务中来。PS主流的数据库都支持XA规范 想要使用JTA事务就需要一个实现了javax.sql.XADataSource、javax.sql.XAConnection、javax.sql.XAResource接口的JDBC驱动程序。 XADataSource对象时XAConnection对象的工厂XAConnection是参与JTA事务的JDBC连接 XA连接javax.sql.XAConnection和非XA连接javax.sql.Connection的区别在于XA可以参与JTA事务而且不支持自动提交 下面是一个依赖于J2EE容器的使用JTA事务的转账操作需要通过JNDI方式获取UserTransaction与DataSource public void JtaTransfer() {javax.transaction.UserTransaction tx null;java.sql.Connection conn null;Statement stmt 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 账户中的金额减少 500stmt.execute(update t_account set amount amount - 500 where account_id A);// 将 B 账户中的金额增加 500stmt.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();} }扩展 标准的分布式事务Distributed Transaction 一个事务管理器Transaction 1.3 容器事务 容器事务主要是J2EE应用服务提提供的容器事务大多基于JTA实现是基于JNDI的相当复杂的API实现 EJB实现了相关服务 二、Spring事务管理 2.1 传统事务管理的弊端 // JDBC事务 Connection conn getConnection(); conn.setAutoCommit(false); ... // 业务实现 ... if 正常 conn.commit(); if 失败 conn.rollback(); // Hibernate事务 Session s getSession(); Transaction tx s.beginTransaction(); ... // 业务实现 ... if 正常 tx.commit(); if 失败 tx.rollback();传统的事务处理与业务代码耦合导致后期维护以及在不同的事务之间切换的时候开发者必须手动修改代码。Spring事务管理能够解决以上痛点。 Spring 事务管理深入解析参考https://my.oschina.net/pingpangkuangmo/blog/415162 三分布式事务管理 待完成
http://www.sadfv.cn/news/63047/

相关文章:

  • 网站备案流程实名认证凡科网微信小程序制作
  • 物流网站功能互联网平台建设方案
  • 阿里云虚拟主机建网站星裕建设网站
  • ui中国设计网站页面推广宝
  • 宁波高端网站开发net网站开发学什么
  • 北京国贸网站建设宁夏建设监督网站
  • 视频网站开发难点佛山新网站制作特色
  • 邢台企业做网站找谁seo优化排名方法
  • 高端网站建设熊掌号wordpress 时钟插件
  • wordpress网站mip改造品牌策划与设计机构
  • 南京市玄武区建设局网站网站诊断方案
  • 网站空间 云端郑州哪个公司专业做网站
  • 漯河企业网站开发网站建设目标初步目标
  • 小型门户网站建设方案listify wordpress
  • 移动网站mip个人名片模板
  • 电脑网站与手机的区别是什么发行商城小程序
  • 陕西交通建设集团网站龙岗网站设计效果
  • 济南网站建设_美叶网络邢台市路桥建设总公司网站
  • 网站 流程优化什么网站可以做宣传
  • 福田公司官网刚做优化的网站什么能更新
  • 建设银行网站无法登陆flash网站建设个人简介
  • 网站前台和后台对接实例用模板快速建站
  • 打赏网站怎么建设学完网站建设再可以学什么
  • 网站开发 脚本怎么写网站建设推广注册公司
  • 做网站 图片需要多大的asp.net网站
  • 网站建设对企业的重要性网站建设近五年参考文献
  • 罗湖网站设计公司哪家好连云港网站关键词优化
  • 咸阳学校网站建设费用微信分享网站短链接怎么做的
  • 建设房屋出租网站手机软件开发教程
  • 安徽营销型网站建设wikidot网站怎么做