ibtais所谓的级联

来源:互联网 发布:淘宝怎么返现 编辑:程序博客网 时间:2024/04/28 23:34

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的级联操作就结束了。