你好,欢迎来到电脑编程技巧与维护杂志社! 杂志社简介广告服务读者反馈编程社区  
合订本订阅
 
 
您的位置:杂志经典 / 编程语言
基于Annotation的Spring 事务应用设计(二)
 

设想网上购物的一次交易,其付款过程至少包括以下几步数据库操作:

(1)更新客户所购商品的库存信息;

(2)保存客户付款信息--可能包括与银行系统的交互;

(3)生成订单并且保存到数据库中;

(4)更新用户相关信息,例如购物数量等等。正常的情况下,这些操作将顺利进行,最终交易成功,与交易相关的所有数据库信息也成功地更新。但是,如果在这一系列过程中任何一个环节出了差错,例如在更新商品库存信息时发生异常、该顾客银行帐户存款不足等,都将导致交易失败。一旦交易失败,数据库中所有信息都必须保持交易前的状态不变,比如最后一步更新用户信息时失败而导致交易失败,那么必须保证这笔失败的交易不影响数据库的状态--库存信息没有被更新、用户也没有付款,订单也没有生成。否则,数据库的信息将会一片混乱而不可预测。

Spring中也对事务有很好的支持,主要有XML配置和Annotation两种实现方式。Spring既实现基于JDBC事务,又实现了基于Hibernate的事务配置。

3  Spring中使用XML配置实现事务

下面通过使用一个实例来说明一下Spring中使用XML配置实现的事务,这是一个订单的实例,这个实例是基于Hibernate实现的事务。实现的业务是向数据库中插入一个订单和订单明细数据项操作。

3.1 DAO对象及其接口
  为了专注于讲述事务的配置,在这里业务接口只设计插入记录的insertIteminsertOrder方法:
  IItemDAO.java//订单明细插入接口

 package com.trx.db.dao;

public interface IItemDAO {

     public void insertItem(Item item); //其中Item是一个ORMPOJO

}

IOrderDAO.java//订单明细插入接口

package com.trx.db.dao;

import com.trx.db.entity.Order;

public interface IOrderDAO {

    public void insertOrder(Order order); //其中Order是一个ORMPOJO

}

  推荐精品文章

·2024年9月目录 
·2024年8月目录 
·2024年7月目录 
·2024年6月目录 
·2024年5月目录 
·2024年4月目录 
·2024年3月目录 
·2024年2月目录 
·2024年1月目录
·2023年12月目录
·2023年11月目录
·2023年10月目录
·2023年9月目录 
·2023年8月目录 

  联系方式
TEL:010-82561037
Fax: 010-82561614
QQ: 100164630
Mail:gaojian@comprg.com.cn

  友情链接
 
Copyright 2001-2010, www.comprg.com.cn, All Rights Reserved
京ICP备14022230号-1,电话/传真:010-82561037 82561614 ,Mail:gaojian@comprg.com.cn
地址:北京市海淀区远大路20号宝蓝大厦E座704,邮编:100089