ibtais所谓的级联

本文介绍了iBATIS的配置和事务管理,强调了所谓的级联操作实际上是通过服务层调用多个DAO在事务中完成的。示例展示了如何配置Spring与iBATIS的事务管理,并通过代码解释了在插入Employee时如何联动处理Spouse和Child的数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

iBATIS 2.0 requires JDK 1.4
ibatis是用xml描述来实现javabean与sql这间的对应也就是说半自动的ibatis一个map实现一条sql语句,所以个人认为ibatis没有真正配置上的级联操作,所谓的级联操作只是在service的方法中调用多个dao的事务处理。只有事务才能保多条sql语句的同时处理。

 

首先是ibatis的配置

 

以下是ibatis事务的配置

通过以上的配置基本上就可以使用service来调用事务了

以上ibatis事务service完全配好,下面通过具体代码说明

Employee.xml(ibatis的sql-map文件)

 

(spouse-map和child-map未配置)

从以上代码中可以看出employee除了自己基本属性外还有spouse和child属性,也就是说涉及到employee的操作都有可能要更新spouse和child,就是级联操作。

 

第一步:DAO调用sql处理

EmployeeDAOImpl.java(dao文件)
public class EmployeeDAOImpl extends SqlMapClientDaoSupport implements EmployeeDAO {
     public void insert(Employee bo) {
           getSqlMapClientTemplate().insert("Employee.insertEmployee",bo);
     }
}
spouseDAO,childDAO省略

 

第二步:Service调用DAO间接调用sql处理

 

service中tranAddFamilyInfo就相当于级联操作了,新增employee的同时,如果有spouse和child也同样更新数据库。

至此ibatis的级联操作就结束了。

 

 

 

 

 

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值