Ibatis DaoTemplate 接口剖析

2016-11-01  本文已影响0人  梦想家图图图

(1)我们看下DaoTemplate接口的类图:

template接口.png

DaoTemplate继承Dao接口,并且有五个子类。


(2)我们分析下SqlMapDaoTemplate类中的insert方法实现
(2.1)源代码如下

public Object insert(String id, Object parameterObject) {
    try {
      //获取SqlMapExcecutor接口
      return getSqlMapExecutor().insert(id, parameterObject);
    } catch (SQLException e) {
      throw new DaoException("Failed to insert - id ["
          + id + "], parameterObject [" + parameterObject + "]. Cause: " + e, e);
    }
  }

protected SqlMapExecutor getSqlMapExecutor() {
    SqlMapDaoTransaction trans = (SqlMapDaoTransaction) daoManager.getTransaction(this);
    return trans.getSqlMap();
  }

//DaoTransaction类获取
public DaoTransaction getTransaction(Dao dao) {
    DaoImpl impl = (DaoImpl) daoImplMap.get(dao);
    return impl.getDaoContext().getTransaction();
  }
上一篇 下一篇

猜你喜欢

热点阅读