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. 人工神经网络入门(4) —— AFORGE.NET简介

    范例程序下载:http://files.cnblogs.com/gpcuster/ANN3.rar如果您有疑问,可以先参考 FAQ 如果您未找到满意的答案,可以在下面留言:) 0 目录人工神经网络入门 ...

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

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

  3. FormatMessage

    FormatMessage 获取GetLastError 函数返回的错误代码对应的字符串描述. #include <Windows.h>#include <tchar.h> V ...

  4. Webpack2学习记录-2

    这篇在 webpack-demo 目前下新建一个 w2 目录,学习 webpack.config.js 及 与 npm scripts 的使用. 1.w2 下新建一个 webpack.config.j ...

  5. github 建立主页

    听同学介绍用github 建立自己的主页,做出来真是高大上.不行我也要学习学习 做一个只显示hello world 的主页哦 1. create repository(要和自己的github的user ...

  6. 梯度下降算法对比(批量下降/随机下降/mini-batch)

    大规模机器学习: 线性回归的梯度下降算法:Batch gradient descent(每次更新使用全部的训练样本) 批量梯度下降算法(Batch gradient descent): 每计算一次梯度 ...

  7. 双系统中卸载Ubuntu后又efi系统分区删除方法

    参考:https://blog.csdn.net/qq_28057541/article/details/51723914 首先 window键(窗口键) + R ,然后输入 Diskpart 打开命 ...

  8. [C++]Linux之计算内存利用率与辨析

    声明:如需引用或者摘抄本博文源码或者其文章的,请在显著处注明,来源于本博文/作者,以示尊重劳动成果,助力开源精神.也欢迎大家一起探讨,交流,以共同进步,乃至成为朋友- 0.0 /* @url:http ...

  9. DEA和模糊综合评价

    DEA(包络分析) 1.概念 利用多项投入指标和产出指标,利用线性规划的方法,对具有可比性的同类型单位进行有效性评价的一种数量分析方法.以效率的概念作为加总模式,效率等于总产出除以总投入,并以效率最大 ...

  10. bind,unbind,one

    刚开始我们先看一下它的定义: .bind( eventType [, eventData], handler(eventObject)) .Bind()方法的主要功能是在向它绑定的对象上面提供一些事件 ...