ibatis dao组件框架

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

Ibatis dao 组件下面的client包:com.ibatis.dao.client下面主要是提供给外部调用的接口比如让Spring进行集成,我们看下下面的类和接口

client.png

(2)我们看下spring种的集成:

spring-dao.png

我们看到Spring中的SqlMapClientDaoSupport中引用了SqlMapClientTemplate用来操作数据库


(3)我们分析具体的接口的功能

//3.1DaoManager
DaoManager通过
DaoManagerBuilder.buildDaoManager(reader)解析获取到DaoManager获取Dao,
PersonDao personDao = daoManager.getDao(PersonDao.class)

//3.2DaoTransaction

//事务相关的接口
public interface DaoTransaction {

}
daotransaction.png

是ibatis中事务的接口。

3.3 Dao接口和DaoTemplate类

public abstract class DaoTemplate implements Dao {
  protected DaoManager daoManager;

  public DaoTemplate(DaoManager daoManager) {
    this.daoManager = daoManager;
  }
}
daotemplate.png

SqlMapDaoTemplate类实现了DaoTemplate接口,用来操作数据库,我们看下它里面的insert方法

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

上面代码可以看出SqlMapDaoTemplate是操作数据库的真正的类。

上一篇下一篇

猜你喜欢

热点阅读