以前学习都是用的数据库操作都是继承 HibernateDaoSupport ,下载个程序偶尔发现他是 继承的 SqlMapClientDaoSupport 。
请问这两个有什么区别啊 越具体越好 ,谢了。

解决方案 »

  1.   

    一个是针对hibernate的工具类
    一个是针对ibatis的工具类
    使用方法类似,
      

  2.   

    其实就作用而言两者是一样的,都是为提供DAO支持,为访问数据库提供支持。
       只不过HibernateDaoSupport是Spring对Hibernate的支持,而SqlMapClientDaoSupport是Spring对ibatis的支持。Hibernate是一个全自动化的ORM框架,而Ibatis是一种半自动化的ORM框架。Hibernate的全自动化在于已经帮助用户实现了基本的数据库操作,但ibatis则要求用户自己去写Sql语句去实现与数据库的交互操作。
       所以说就本质来说两种的作用是一样的。
      

  3.   

    一个用于hibernate框架,一个用于ibatis框架。
      

  4.   

    LZ应该多看看源代码还有很多类似的DaoSupport类,比如JdbcDaoSupport,Spring对很多个O-R Mapping工具也都有相应的Support
      

  5.   

    拷贝两段spring的帮助
    10.3. 一致的DAO支持抽象类
    为了便于以一种一致的方式使用各种数据访问技术,如JDBC、JDO和Hibernate, Spring提供了一套抽象DAO类供你扩展。这些抽象类提供了一些方法,通过它们你可以 获得与数据访问技术相关的数据源和其他配置信息。 JdbcDaoSupport - JDBC数据访问对象的基类。 需要一个DataSource,同时为子类提供 JdbcTemplate。 HibernateDaoSupport - Hibernate数据访问对象的基类。 需要一个SessionFactory,同时为子类提供 HibernateTemplate。也可以选择直接通过 提供一个HibernateTemplate来初始化, 这样就可以重用后者的设置,例如SessionFactory, flush模式,异常翻译器(exception translator)等等。 JdoDaoSupport - JDO数据访问对象的基类。 需要设置一个PersistenceManagerFactory, 同时为子类提供JdoTemplate。 JpaDaoSupport - JPA数据访问对象的基类。 需要一个EntityManagerFactory,同时 为子类提供JpaTemplate。 
    类似:
    SqlMapClientDaoSupport -- Ibatis数据访问对象的基类。需要一个SqlMapClientFactory和一个datasource,同时 为子类提供SqlMapClientTemplate。 
      

  6.   

    两者都是为访问数据库提供支持。 
    1.HibernateDaoSupport是Spring对Hibernate的支持,用来整合spring和hibernate,2。SqlMapClientDaoSupport是Spring对ibatis的支持。3.Hibernate是一个全自动化的ORM框架,而Ibatis是一种半自动化的ORM框架。
    Hibernate的全自动化在于已经帮助用户实现了基本的数据库操作,
    ibatis则要求用户自己去写Sql语句去实现与数据库的交互操作。 
     
    4.iBATIS特别适合金融业的开发,可以简单理解为JDBC的替代。