`

ibatis中 SqlMapClientDaoSupport,SqlMapClientTemplate ,SqlMapDaoTemplate区别

阅读更多

1.SqlMapClientDaoSupport 基类为我们预先初始化了一个 SqlMapClientTemplate 实例。

在使用过程中,直接调用就行,getSqlMapClientTemplate().queryForList,主要应用在与spring的集成中
2.SqlMapClientTemplate ,SqlMapDaoTemplate主要用ibatis中(非框架集成)

SqlMapClientTemplate用于SqlMapClient来获得,如下面例子:
public class IbatisSQLMapConfig {
    private static final SqlMapClient sqlMap;
    //在静态区块中初试化返回
    static {
        try {
            //声明配置文件的名称(映射文件被定义在其中)
            String resource = "sql_map_config.xml";
            //利用工具类Resources来读取到配置文件
            Reader reader = Resources.getResourceAsReader(resource);
            //创建SqlMapClient接口的变量实例
            sqlMap = SqlMapClientBuilder.buildSqlMapClient(reader);
        } catch (Exception e) {
            e.printStackTrace();
            throw new RuntimeException(
                    "Error initializing MyAppSqlConfig class. Cause: " + e);
        }
    }
 
    public static SqlMapClient getSqlMapInstance() {
        //提供静态方法返回静态区块中得到的SqlMapClient
        return sqlMap;
    }
}
对于这个辅助类,之前的解释已经很清楚了,从代码的注释总也可以看到它的工作方式。其实也可以按照介绍Hibernate框架时所用的方式将这个类改变成单例类。
一旦创建好了SqlMapClient那么对数据库的操作就十分简单了。
SqlMapClient提供了如下的一些功能:
    显式的调用事务。
    执行对数据库的常规操作。
    批量处理非查询的SQL语句。
3.SqlMapDaoTemplate
Reader reader = new FileReader(C:/myapp/dao.xml);
DaoManager daoManager = DaoManagerBuilder.buildDaoManager(reader);

获取dao实例
一旦你得到了DaoManager实例,你就可以根据dao名字,利用DaoManager的getDao方法获取该dao实例了,如:
ProductDao productDao = (ProductDao) daoManager.getDao (ProductDao.class);

往后操作就是在DAO中继承SqlMapDaoTemplate

分享到:
评论

相关推荐

    Spring对IBatis的整合

    3. **SqlMapClientTemplate**:提供了一个非侵入式的访问IBatis的方式,可以用于执行SQL语句并处理结果集。 4. **SqlMapClientDaoSupport**:抽象基类,用于实现基于IBatis的DAO层,简化了事务管理和错误处理的实现...

    ibatis与spring的整合

    在整合iBATIS和Spring的过程中,主要目标是利用Spring的IOC(Inversion of Control)容器来管理和协调数据访问层(DAO)以及事务处理,同时利用iBATIS作为SQL映射框架,提供灵活的数据库操作。以下将详细阐述整合的...

    Spring+iBatis整合详解

    在Spring中,我们可以通过`SqlMapClientDaoSupport`类或者`SqlMapClientTemplate`类来实现对iBatis的集成。 - `SqlMapClientDaoSupport`是一个抽象类,它实现了`DaoSupport`接口,可以被继承并提供一些方便的方法来...

    WEB项目-集成Flex3+BlazeDS3.2+Spring2.5.6+iBatis2.3.4

    本讲主要讲解如何将Flex3前端、BlazeDS3.2后端数据传输服务、Spring2.5.6依赖注入框架以及iBatis2.3.4持久层框架集成到一个项目中,以实现更高效的业务逻辑处理。 1. **Flex3** 是Adobe推出的一种富互联网应用程序...

    ibatis与Spring整合例子

    `SqlMapClientTemplate`是实际执行SQL操作的工具,它封装了执行SQL映射文件中定义的查询和更新的方法。 为了在Spring中配置iBATIS,我们需要在Spring的配置文件(如`beans.xml`)中声明`SqlMapClient` bean,并指定...

    在Spring使用iBatis及配置讲解

    在 Spring 中使用 iBatis,需要配置 SqlMapClient,定义 iBatis 的 SQL 映射表,并使用 SqlMapClientTemplate 执行数据访问操作。通过继承 SqlMapClientDaoSupport 类,我们可以方便地建立基于 iBatis 的 DAO。

    iBatis操作

    在iBatis中,批量操作可以通过XML映射文件来定义,下面分别展示批量插入、更新和删除的示例。 ##### 批量插入 ```xml insert all into SYS_TABLE (id, Category, Name, Code, Status) values (#[].Id#, #[]....

    struts2,spring整合及ibatis基础

    - 注入 `dataSource` 和 iBatis 全局配置文件(无需在此配置文件中指定数据源)。 - 必须将 Spring 框架相关的 JAR 文件部署到项目的 `WEB-INF/lib` 目录下。 - **重写 DAO 组件**: - 使用 `...

    Spring-Reference_zh_CN(Spring中文参考手册)

    使用 SqlMapClientTemplate 和 SqlMapClientDaoSupport 12.5.3.3. 基于原生的iBATIS API的DAO实现 12.6. JPA 12.6.1. 在Spring环境中建立JPA 12.6.1.1. LocalEntityManagerFactoryBean 12.6.1.2. ...

    Spring中文帮助文档

    12.5.2. 使用 SqlMapClientTemplate 和 SqlMapClientDaoSupport 12.5.3. 基于原生的iBATIS API的DAO实现 12.6. JPA 12.6.1. 在Spring环境中建立JPA 12.6.2. JpaTemplate 和 JpaDaoSupport 12.6.3. 基于原生的...

    Spring API

    12.5.2. 使用 SqlMapClientTemplate 和 SqlMapClientDaoSupport 12.5.3. 基于原生的iBATIS API的DAO实现 12.6. JPA 12.6.1. 在Spring环境中建立JPA 12.6.2. JpaTemplate 和 JpaDaoSupport 12.6.3. 基于原生的...

Global site tag (gtag.js) - Google Analytics