`
justin8335
  • 浏览: 28820 次
  • 性别: Icon_minigender_1
  • 来自: 福州
社区版块
存档分类
最新评论

集成Spring与Hibernate

阅读更多
集成Spring与Hibernate,
将dataSource与sessionFactory添加进Spring的配置文件,
将Hibernate下的DAO交由Spring来管理。

xml 代码
 
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <beans  
  3.     xmlns="http://www.springframework.org/schema/beans"  
  4.     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
  5.     xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">  
  6.   
  7.   
  8.     <bean id="dataSource"  
  9.         class="org.apache.commons.dbcp.BasicDataSource">  
  10.         <property name="driverClassName"  
  11.             value="com.mysql.jdbc.Driver">  
  12.         </property>  
  13.         <property name="url"  
  14.             value="jdbc:mysql://localhost:3306/test">  
  15.         </property>  
  16.         <property name="username" value="root"></property>  
  17.         <property name="password" value="admin"></property>  
  18.     </bean>  
  19.     <bean id="sessionFactory"  
  20.         class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">  
  21.         <property name="dataSource">  
  22.             <ref bean="dataSource" />  
  23.         </property>  
  24.         <property name="hibernateProperties">  
  25.             <props>  
  26.                 <prop key="hibernate.dialect">  
  27.                     org.hibernate.dialect.MySQLDialect  
  28.                 </prop>  
  29.             </props>  
  30.         </property>  
  31.         <property name="mappingResources">  
  32.             <list>  
  33.                 <value>org/justin/vo/Login.hbm.xml</value></list>  
  34.         </property></bean>  
  35.     <bean id="loginDAO" class="org.justin.dao.impl.LoginDAO">  
  36.         <property name="sessionFactory">  
  37.             <ref bean="sessionFactory" />  
  38.         </property>  
  39.     </bean>  

在Spring提供的HibernateDaoSupprot超类中,如果注入SessionFactory,HibernateDaoSupport就会自动生成HibernateTemplate对象,HibernateTemplate是线程安全的。

让Hibernate的DAO类继承Spring的HibernateDaoSupport类,这样DAO类就可以通过getHibernateTemplate()方法
获得一个HibernateTemplate对象,HibernateTemplate对象本身包含了SessionFactory的引用,因此HibernateTemplate对象可以完成所有的Hibernate操作。
java 代码
 
  1. public class LoginDAO extends HibernateDaoSupport implements ILoginDAO  
通过HibernateTemplate提供的方法实现CRUD操作
(1)Serializable save(Object entity)

(2)Object get(Class entity , Serializable id)

(3)Object load(String entityName,Serializable id)

(4)void update(Objecet entity)

(5)void delete(Objecet entity)

HibernateTemplate实现分页处理
java 代码
  1.  public List findByPagination(Login login){  
  2.          List list =(List)this.getHibernateTemplate().execute(new HibernateCallback(){  
  3.             public Object doInHibernate(Session session)throws HibernateException,SQLException  
  4.             {  
  5.                 Criteria criteria = session.createCriteria(Login.class)  
  6.                        .setFirstResult(0)  
  7.                        .setMaxResults(10);  
  8.                           
  9.                 return criteria.list();  
  10.   /* 也可以使用Query接口            
  11. Query query = session.createQuery("From Login as L") 
  12.                    .setFirstResult(0).setMaxResults(3); 
  13.                  
  14.                 return query.list();*/  
  15.             }  
  16.          });  
  17.            
  18.          return list ;  
  19.      }  

HibernateTemplate提供的Object execute(HibernateCallback action方法允许执行任何Hibernate操作
在doInHibernate中可以使用任意的Hibernate接口,如Query,Criteria等

其中
HibernateCallback是一个回调接口!
分享到:
评论

相关推荐

    Spring与Hibernate集成

    **Spring与Hibernate集成详解** 在Java企业级应用开发中,Spring和Hibernate是两个非常重要的框架。Spring是一个全方位的轻量级应用框架,提供了强大的依赖注入、AOP(面向切面编程)以及各种服务管理功能。而...

    Spring2 Hibernate3集成

    通过其强大的模块化设计,Spring能够轻松地与其他技术栈进行集成,如本案例中的Hibernate。 - **Hibernate框架**:作为一个开放源码的对象关系映射(ORM)解决方案,Hibernate提供了从Java类到数据库表的映射,以及...

    spring 与hibernate的集成

    在进行Spring与Hibernate的集成时,首先要在`web.xml`中配置Spring的相关内容。这里有两个关键的元素:`context-param`和`listener`。`context-param`用于指定Spring应用上下文配置文件的位置,通常设置为`/WEB-INF/...

    Spring与Hibernate集成---声明式事务

    本文将深入探讨如何将Spring与Hibernate进行集成,并重点介绍声明式事务的配置与使用。 Spring框架是一个全面的企业级应用开发框架,它提供依赖注入(DI)和面向切面编程(AOP)等功能,简化了Java应用的复杂性。另...

    spring+hibernate+struts2整合

    3. 集成Spring与Hibernate:在Spring配置中注入SessionFactory,使用HibernateTemplate或JPA进行数据操作。 4. 配置Struts2:编写struts.xml文件,定义Action和结果页面,设置拦截器栈。 5. 整合Struts2与Spring:...

    Spring与Hibernate整合

    SSH整合,即Struts、Spring和Hibernate的集成,是Java Web开发中常见的一种技术栈,它能有效地解决MVC模式下的业务逻辑处理和数据持久化问题。本篇将详细介绍Spring3.3与Hibernate2.1整合的过程及其相关知识点。 ...

    spring与hibernate以及ibatis集成的实例和具体配置图解

    标签“Ibatis,hibernate与spring集成配置”进一步强调了这个主题的重点。Spring作为容器,可以管理Hibernate和Ibatis的生命周期,通过Spring的DataSource、SessionFactory和SqlSessionFactoryBean等组件,实现对这...

    Spring集成Hibernate所需jar包

    下面将详细介绍Spring集成Hibernate所需的jar包以及它们各自的作用。 1. **Spring框架**: - Spring核心模块:包括`spring-context`, `spring-beans`, `spring-core`, `spring-expression`等,提供依赖注入(DI)...

    ssh集成jar包,支持spring集成Hibernate,spring集成struts2等

    - Spring与Hibernate集成,通常使用Spring的HibernateTemplate或HibernateDaoSupport,提供事务管理和数据访问抽象,使得代码更简洁,事务控制更方便。 - Spring与Struts2集成,Spring可以作为Struts2的Action的...

    struts2.1.8 集成 spring hibernate需要的 核心 jar

    - `struts2-spring-plugin.jar`:这个插件允许Struts2与Spring框架无缝集成,使得Action类可以被Spring容器管理。 2. **Spring框架库**: - `spring-beans.jar`:包含Bean工厂和依赖注入(DI)的基础实现。 - `...

    Spring集成Hibernate myeclipse 下

    在MyEclipse这样的集成开发环境中,集成Spring和Hibernate可以构建高效且易于维护的Java Web应用。 在"Spring集成Hibernate Myeclipse下"的场景中,我们首先需要配置MyEclipse环境,确保安装了Spring和Hibernate的...

    spring-hibernate 4个版本

    标题中的“spring-hibernate 4个版本”指的是四个不同阶段的Spring与Hibernate集成框架的版本。Spring是一个广泛使用的Java企业级应用开发框架,而Hibernate是一个流行的持久化框架,用于简化数据库操作。这两个库的...

    FLEX:集成Spring+Hibernate

    将后端的Spring和Hibernate与Flex前端集成,可以构建出功能强大且用户体验良好的Web应用。 首先,我们需要配置Spring环境。Spring作为服务容器,管理着应用的bean,包括业务逻辑对象(BO)、数据访问对象(DAO)...

    SSH集成Spring+hibernate+security 用户管理

    以上就是关于"SSH集成Spring+hibernate+security 用户管理"项目的主要知识点,涵盖了Spring框架的依赖注入、Hibernate的ORM、Spring Security的权限控制,以及如何在实际项目中综合运用这些技术。这样的系统设计有助...

    spring+hibernate配置与jar的配置下载

    在集成Spring与Hibernate的过程中,配置文件是非常重要的一步。下面详细介绍如何创建和配置这两个框架的相关文件。 - **hibernate.cfg.xml**:这是Hibernate的核心配置文件,用于定义Hibernate的工作环境。通常情况...

    非注解Springmvc+spring+hibernate 入门实例

    总的来说,这个入门实例旨在帮助初学者理解如何在没有使用注解的情况下,通过XML配置文件集成SpringMVC、Spring和Hibernate,完成一个简单的Web应用。虽然现在的最佳实践倾向于使用注解和Spring Boot,但理解非注解...

    gwt+spring+hibernate

    标题 "gwt+spring+hibernate" 涉及的是一个使用Google Web Toolkit (GWT)、Spring框架和Hibernate ORM技术的集成示例。这是一个常见的Web应用开发组合,用于构建高效、可扩展且功能丰富的Java web应用程序。下面将...

    spring集成hibernate所需jar包

    集成Spring和Hibernate的过程主要包括以下几个步骤: 1. **配置Hibernate**:在Spring的配置文件(如`applicationContext.xml`)中,定义SessionFactory Bean,指定Hibernate的相关属性,如配置文件路径、数据库...

    Spring集成Jpa(Hibernate实现)

    Spring集成JPA(Java Persistence API)是将Spring框架与ORM(Object-Relational Mapping)解决方案之一的Hibernate结合使用的常见实践。这个例子展示了如何在Spring应用中配置和使用JPA,以便利用Hibernate作为JPA...

Global site tag (gtag.js) - Google Analytics