HibernateTemplate与HibernateDaoSupport两者都是spring整合hibernate提供的模板技术。

对于保存一个对象,HibernateTemplate需要先配置

配置hibernateTemplate:

  1. <bean id="hibernateTemplate" class="org.springframework.orm.hibernate3.HibernateTemplate">
  2. <property name="sessionFactory" ref="sessionFactory" />
  3. </bean>

配置

  1. <bean id="daoTemplate" abstract="true"  lazy-init="true" />
  1. <bean id="empDao" class="com.wzy.dao.impl.EmpDaoImpl" parent="daoTemplate">
  2. <property name="hibernateTemplate" ref="hibernateTemplate"/>
  3. </bean>

操作代码:

  1. package com.wzy.dao.impl;
  2. import org.springframework.orm.hibernate3.HibernateTemplate;
  3. import com.wzy.dao.EmpDao;
  4. import com.wzy.domain.Emp;
  5. public class EmpDaoImpl implements EmpDao{
  6. private HibernateTemplate hibernateTemplate;
  7. public HibernateTemplate getHibernateTemplate() {
  8. return hibernateTemplate;
  9. }
  10. public void setHibernateTemplate(HibernateTemplate hibernateTemplate) {
  11. this.hibernateTemplate = hibernateTemplate;
  12. }
  13. @Override
  14. public void save(Emp emp) throws Exception {
  15. getHibernateTemplate().save(emp);
  16. }
  17. }

使用HibernateDaoSupport,很简洁:

  1. package com.wzy.dao.impl;
  2. import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
  3. import com.wzy.dao.EmpDao;
  4. import com.wzy.domain.Emp;
  5. public class EmpDaoImpl extends HibernateDaoSupport implements EmpDao{
  6. @Override
  7. public void save(Emp emp) throws Exception {
  8. this.getHibernateTemplate().save(emp);
  9. }
  10. }

结论:使用HibernateDaoSupport更方便。但是类继承了HibernateDaoSupport,不能再继承别的类,因此有些不方便。

使用时,灵活选择就是了。下一篇将会再深入分析一下。

Spring HibernateTemplate与HibernateDaoSupport对比的更多相关文章

  1. HibernateTemplate和HibernateDaoSupport(spring注入问题)

    HibernateTemplate HibernateTemplate是spring提供的一个就hibernate访问持久层技术而言.支持Dao组件的一个工具.HibernateTemplate提供持 ...

  2. Spring HibernateTemplate的使用

    Spring HibernateTemplate的使用 2008-03-25 11:38 2020人阅读 评论(0) 收藏 举报 springbeanhibernatesessiondaoclass ...

  3. HibernateTemplate和HibernateDaoSupport

    Spring整合Hibernate后,为Hibernate的DAO提供了两个工具类:HibernateTemplate和HibernateDaoSupport HibernateTemplateHib ...

  4. Spring Cloud介绍 Spring Cloud与Dubbo对比

    spring Cloud是一个基于Spring Boot实现的云应用开发工具,它为基于JVM的云应用开发中的配置管理.服务发现.断路器.智能路由.微代理.控制总线.全局锁.决策竞选.分布式会话和集群状 ...

  5. [原创]SSH中HibernateTemplate与HibernateDaoSupport关系

    UserDaoImpl继承了HibernateDaoSupport类,在findAll() 方法里面调用了getHibernateTemplate(), 同时applicationContext.xm ...

  6. spring中使用HibernateTemplate或HibernateDaoSupport报类型转换错误

    使用spring的HibernateDaoSupport的时候.报错例如以下: java.lang.ClassCastException: java.lang.String cannot be cas ...

  7. SessionFactory、HibernateTemplate、HibernateDaoSupport之间的关系说明

    在接触HibernateTemplate之前,我们知道,在对数据库进行CRUD操作之前,需要开启session.transaction等等.在hibernate学习过程中,我们知道了,得到sessio ...

  8. HibernateTemplate、HibernateDaoSupport两种方法实现增删改查Good(转)

    Spring+Hibernate两种方法实现增删改查 首先,定义一个Customer的bean类,设置好Customer.hbm.xml文件.再定义好一个Dao接口.准备好一个jdbc.propert ...

  9. 从Spring HibernateTemplate模板方法设计模式的实现谈起

    概述 模板方法模式是GOF设计模式中很典型的设计模式,其意图是由抽象父类控制顶级逻辑,并把基本操作的实现推迟到子类去实现,这是通过继承的手段来达到对象的复用.Spring模板方法模式实际是模板方法模式 ...

随机推荐

  1. MySql 游标笔记

    delimiter &&create PROCEDURE findProjectDetailsByProjectId(in p_userId int)BEGIN   DECLARE d ...

  2. js中得计算问题算式结果拼接成字符串怎么解决

    如题:经常遇到类似问题 一种:自定义的弱类型 var savNum=0; var num=$("#numU").val();//jsp页面获得得值 savNum=parseInt( ...

  3. https笔记【转】

    图解HTTPS 我们都知道HTTPS能够加密信息,以免敏感信息被第三方获取.所以很多银行网站或电子邮箱等等安全级别较高的服务都会采用HTTPS协议. HTTPS简介 HTTPS其实是有两部分组成:HT ...

  4. MySQL备份工具之mysqldump使用

    MySQL备份工具之mysqldump使用说明 一.备份分类 根据能否停用数据库,将备份类型分为: 1. 冷备:数据库服务停止后备份 2. 温备:只能对数据库进行读操作,不能进行写操作 3. 热备:在 ...

  5. 历史SQL语句之一

    注释:查询该课程表下,所有的课程以及课程观看的人数统计 SELECT ml.`name` as lessonName,ml.category,ml.deleted,ml.teacherName, ml ...

  6. Terminal 快捷键帮助

    Terminal 快捷键帮助 Terminal 快捷键帮助 移动光标至行首 CTRL+A 第一次按时,移动光标至行首: 再次按时,回到原有位置 CTRL+X 移动光标至行尾 CTRL+E 光标向左移动 ...

  7. Docker-02 无人值守安装 docker

    #!/bin/bash # # 无人值守安装 docker # # # .关闭SELinux # setenforce sed -i 's/SELINUX=enforcinf/SELINUX=disa ...

  8. 当一些库和类无法在Silverlight工程中使用

    因为要更新空间数据,所以需要导入MDB文件.但是Silverlight中不能直接使用OdbcConnection类读取MDB文件,所以需要新建一个ASP.NET空Web应用程序 工程 随后在此工程中, ...

  9. None.js 第三步 回调函数【阻塞代码--非阻塞代码】

    阻塞代码实例 var fs = require("fs"); // 导入文件系统 file system var data = fs.readFileSync('input.txt ...

  10. 代码管理工具:使用github和git工具管理自己的代码

    一.git工具和账户创建 1.1 安装 Git 是 Linus Torvalds 最近实现的源代码管理软件."Git 是一个快速.可扩展的分布式版本控制系统,它具有极为丰富的命令集,对内部系 ...