Spring 理解 事务管理
来源:互联网 发布:idea创建web项目ubuntu 编辑:程序博客网 时间:2024/04/25 13:13
首先要理解什么是事务(transaction) :
事务(Transaction)是并发控制的基本单位。所谓事务,它是一个操作序列,这些操作要么都执行,要么都不执行,它是一个不可分割的工作单位。例如,银行转帐工作:从一个帐号扣款并使另一个帐号增款,这两个操作要么都执行,要么都不执行。所以,应该把他们看成一个事务。事务是数据库维护数据一致性的单位,在每个事务结束时,都能保持数据一致性。
所谓的事物管理也就是:
#当执行这个操作时:**重点内容**public void create(String name, Integer age, Integer marks, Integer year){ TransactionDefinition def = new DefaultTransactionDefinition(); TransactionStatus status = transactionManager.getTransaction(def);**#根据指定的传播行为,该方法返回当前活动事务或创建一个新的事务。** try { String SQL1 = "insert into Student (name, age) values (?, ?)"; jdbcTemplateObject.update( SQL1, name, age); // Get the latest student id to be used in Marks table String SQL2 = "select max(id) from Student"; int sid = jdbcTemplateObject.queryForObject(SQL2, Integer.class); String SQL3 = "insert into Marks(sid, marks, year) " + "values (?, ?, ?)"; jdbcTemplateObject.update( SQL3, sid, marks, year); System.out.println("Created Name = " + name + ", Age = " + age); transactionManager.commit(status);**#该方法提交给定的事务和关于它的状态。** } catch (DataAccessException e) { System.out.println("Error in creating record, rolling back"); transactionManager.rollback(status);#如果出现异常该方法执行一个给定事务的回滚。从而达到保持数据一致性的效果,以避免**从一个帐号扣款并使另一个帐号增款**这一事务中出现一方(扣款方)出错而另一方没有赠款的情况下扣款方已被扣款 throw e; } return; }
阅读全文
0 0
- spring 事务管理的理解
- spring 事务管理 事务理解
- Spring之事务管理理解
- 深入理解spring事务管理
- Spring 理解 事务管理
- Spring事务管理的感性理解
- 深入理解Spring的事务管理
- 关于事务管理的理解和Spring事务管理详解
- Spring对Hibernate事务管理的简单理解
- 事务管理之Spring事务管理
- Spring事务管理
- spring事务管理
- Spring事务管理
- Spring事务管理
- Spring事务管理
- Spring事务管理
- Spring事务管理
- Spring 事务管理
- 通俗易懂的傅立叶级数理解
- 文章标题
- 生成特定分布随机数的方法
- 大数据经典学习路线(及供参考)
- hdu 6129 Just do it
- Spring 理解 事务管理
- java诞生
- Sqlite数据库添加数据以及查询数据方法
- Hadoop本地库
- Start Failed Android studio
- m-ary Partitions
- Double Queue POJ
- HDU-1233 还是畅通工程(最小生成树Prim算法)
- selenium使用Xpath+CSS+JavaScript+jQuery的定位方法(治疗selenium各种定位不到,点击不了的并发症)