`

Spring_Hibernate_HibernateDaoSupport

阅读更多

继承HibernateDaoSupport有三种方式:

1.

@Component("logDAO") 
public class LogDAOImpl extends HibernateDaoSupport implements LogDAO {
	public void save(Log log) {
		this.getHibernateTemplate().save(log);
	}
}

    xml中注入:

<bean id="hibernateTemplate" class="org.springframework.orm.hibernate3.HibernateTemplate">
  	<property name="sessionFactory" ref="sessionFactory"></property>
 </bean>
 
 <bean id="logDao" class="com.zchen.spring.LogDaoImpl">
  	<property name="hibernateTemplate" ref="hibernateTemplate"></property>
 </bean>

   也可以直接注入SessionFactory

<bean id="logDao" class="com.zchen.spring.LogDaoImpl">
	<property name="sessionFactory" ref="sessionFactory"></property>
</bean>

 这样一来每个daoImpl都要在bean.xml中注入所以第二种方式就是:

2.

import javax.annotation.Resource;
import org.springframework.orm.hibernate3.HibernateTemplate;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
import org.springframework.stereotype.Component;
@Component
public class SuperDAO {
	private HibernateTemplate hibernateTemplate;
	public HibernateTemplate getHibernateTemplate() {
		return hibernateTemplate;
	}
	@Resource
	public void setHibernateTemplate(HibernateTemplate hibernateTemplate) {
		this.hibernateTemplate = hibernateTemplate;
	}
	
	
}

 

    所有的daoImpl都继承自SuperDao

package com.zchen.dao.impl;
import javax.annotation.Resource;
import org.hibernate.Session;
import org.springframework.orm.hibernate3.HibernateTemplate;
import org.springframework.stereotype.Component;
import com.zchen.dao.UserDAO;
import com.zchen.model.User;
@Component("urseDao") public class UserDAOImpl extends SuperDAO implements UserDAO {
	public void save(User user) {		
		this.getHibernateTemplate().save(user);	
	}
}

 

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

 3继承sessionFactory

import javax.annotation.Resource;
import org.hibernate.SessionFactory;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
import org.springframework.stereotype.Component;
@Component
public class SuperDAO extends HibernateDaoSupport {	
	@Resource(name="sessionFactory")
	public void setSuperSessionFactory(SessionFactory sessionFactory) {
		super.setSessionFactory(sessionFactory);
	}	
}

   继承hibernateTemplate也是一样的

@Component
public class SuperDAO extends HibernateDaoSupport {
	
	
	@Resource(name="hibernateTemplate")
	public void setSuperHibernateTemplate(HibernateTemplate hibernateTemplate) {
		super.setHibernateTemplate(hibernateTemplate);
	}
	
	
}

  

 

@Component("u") 
public class UserDAOImpl extends SuperDAO implements UserDAO {
	public void save(User user) {
	 	this.getHibernateTemplate().save(user);
	}
}

 如果继承hibernateTemplate要配置bean

 

  <bean id="userDao" class="com.zchen.spring.UserDaoImpl">
   <property name="hibernateTemplate" ref="hibernateTemplate"></property>
 </bean>

 

分享到:
评论

相关推荐

    Spring_Hibernate集成

    * 继承HibernateDaoSupport类,使用HibernateTemplate来持久化,HibernateTemplate是 Hibernate Session的轻量级封装 * 默认情况下运行期异常才会回滚(包括继承了RuntimeException子类),普通异常是不会滚的 ...

    springboot2.0多数据源集成hibernate配置hibernateDaoSupport示例

    springboot2.0多数据源集成hibernate配置hibernateDaoSupport, dao层继承hibernateDaoSupport, 不使用jpa方式。

    第24次课-1 Spring与Hibernate的整合

    Spring为与Hibernate进行整合,提供了一个工具类HibernateDaoSupport HibernateDaoSupport提供了基于AOP事务的自动处理,程序员完全可以不用理会事务的开始与提交,它会自动完成SessionFactory的注入和事务的注入。 ...

    Struts2+Spring+Hibernate+Ehcache+AJAX+JQuery+Oracle 框架集成用户登录注册Demo工程

    6.Hibernate继承 HibernateDaoSupport。 7.Spring+Junit4单元测试,优点:不会破坏数据库现场,等等。 2)Demo 导入说明: 1.Eclipse Encoding:GBK 2.Eclipse 导入后可能需要在 Xml Catalog 手动添加:ehcache-...

    spring-hibernate3.jar

    其中包含有org.springframework.orm.hibernate3.support.HibernateDaoSupport.class,

    Spring4.0+Hibernate4.0+Struts2.3整合案例

    1、Spring 3.x 对 Hibernate 4.x 不提供 HibernateDaoSupport,所以在dao的实现层注入SessionFactory 2、报错:org.hibernate.HibernateException: No Session found for current thread 意思是必须在...

    spring_MVC源码

    文中用的框架版本:spring 3,hibernate 3,没有的,自己上网下。 先说web.xml配置: [java] view plaincopy 01.&lt;?xml version="1.0" encoding="UTF-8"?&gt; 02....

    Spring+Hibernate实现增删改查的两种方法

    Spring+Hibernate实现增删改查的两种方法,HibernateTemplate实现和HibernateDaoSupport实现

    Spring整合Hibernate 详解.doc

    6.5 Spring整合Hibernate 6.6 Spring提供的DAO支持 6.5.2 管理Hibernate的SessionFactory 6.5.3 使用HibernateTemplate 6.5.4 使用HibernateCallBack 6.5.6 使用IoC容器组装各种组件 6.5.7启动web容器读取xml配置...

    spring-boot 集成hibernate

    spring-boot 集成hibernate,使用druid数据库连接池,dao继承HibernateDaoSupport 的实现,

    ssh(structs,spring,hibernate)框架中的上传下载

     TfileDAOHibernate通过扩展Spring提供的Hibernate支持类HibernateDaoSupport而建立,HibernateDaoSupport封装了HibernateTemplate,而HibernateTemplate封装了Hibernate所提供几乎所有的的数据操作方法,如execute...

    Spring2.5和Hibernate3集成--学习spring aop ioc

    Spring2.5和Hibernate3集成 采用声明式事务 1.声明式事务的配置 * 配置sessionFactory * 配置事务管理器 * 配置事务的传播特性 * 配置哪些类哪些方法使用事务 2.编写业务逻辑方法 * 继承...

    HibernateDaoSupport 源码

    Spring hibernate3. HibernateDaoSupport 源码

    Spring4整合Hibernate5详细步骤

    本篇文章主要介绍了Spring4整合Hibernate5详细步骤,具有一定的参考价值,有兴趣的同学可以了解一下

    java大作业基于SSH框架的学生成绩管理系统源码.zip

    (1) 整合Struts2、Spring和Hibernate框架 (2) 实现“登录”功能 (3) 实现“学生信息管理”功能 (4) 实现“学生成绩管理”功能 (5) 实现分页功能 目的: 掌握Struts2的开发步骤 掌握Hibernate的开发...

    struts2.3.x+spring3.1.x+hibernate3.6 demo

    关键问题有几个,第一个HibernateDaoSupport这个没有了,在使用hibernateTemplate的时候,报错误:java.lang.NoSuchMethodError: org.hibernate.SessionFactory.openSession()Lorg/hibernate/classic/Session 很是悲...

    Spring的学习笔记

    一、 Spring配置hibernate3的SessionFactory 30 (一) xml形式的SessionFactory 30 (二) annotation注解方式的SessionFactory 30 二、 引入hibernate所需要使用的jar 31 (一) 基本jar 31 (二) 加入annotation功能的...

    重写Spring的HibernateDaoSupport 简化Dao层写法

    NULL 博文链接:https://wxinpeng.iteye.com/blog/1162157

    Spring面试题含答案.pdf

    47.如何通过 HibernateDaoSupport 将 Spring 和 Hibernate 结合起来? 48. Spring 支持的事务管理类型 49. Spring 框架的事务管理有哪些优点? 50. 你更倾向用那种事务管理类型? 51. 解释 AOP 52. Aspect 切面 53. ...

Global site tag (gtag.js) - Google Analytics