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

Spring中的数据访问使用Hibernate

阅读更多
Spring中的数据访问


不管使用哪种DAO技术,Spring提供了统一的异常处理机制。
使用O/R Mapping的访问框架中的模版(HibernateTemplate),开发者无需考虑是否要处理异常,
因为SpringDAO代劳了这些工作。

HibernateDaoSupport:Hibernate DAO抽象类,开发者需要为他配置Hibernate SessionFactory。
通过注入的方式实现。通过HibernateDaoSupport之类,可以获得HibernateTemplate.
Spring中的所有模版类都是线程安全的包括(HibernateTemplate)

定义Hibernate资源
使用JNDI 或者是 DBCP 配置数据源




(1)想要直接使用HibernateTemplate,必须先在DAO对象中定义sessionFactory,
然后注入sessionFactory ,在相应的DAO对象里定义sessionFactory变量,以及他的
Setter方法。

最后,开发者实现HibernateTemplate调用过程时,需要实现HibernateCallback回调接口。
可以发现,这种回调实现能够实现基于Hibernate的DAO访问。
与此同时,HibernateTemplate能够保证正确的打开和关闭HibernateSession,并自动参与到
事务当中。HibernateTemplate是线程安全的,对于简单的Hibernate操作,比如单个find,
saveOrUpdate操作,直接使用HibernateTemplate比较有效率。

(2)还可以让DAO实现HibernateDaoSupport接口 ,但这样使得Hibernate与Spring的耦合度增加

在处理简单的数据库操作时,使用HibernateTemplate带的find(),save()等的方法效率更好。
如果处理比较复杂的操作时(比如分页)可以使用hibernate的回调接口

List bookList =(List) getHibernateTemplate().execute(new HibernateCallback(){
            public Object doInHibernate(Session session)throws HibernateException,SQLException{
                 Query query = session.createQuery("From Book as b left join fetch  b.category ")
                        .setFirstResult(startRow)
                        .setMaxResults(maxResults);
                 
                return query.list();
            }
        });
分享到:
评论

相关推荐

    Spring中使用Hibernate

    以上就是在Spring中使用Hibernate的基本步骤和关键知识点。通过熟练掌握这些内容,你可以构建出高效、稳定且易于维护的数据访问层。在`Hibernate_Spring`这个压缩包文件中,可能包含了相关的示例代码和配置文件,这...

    webservice提供数据访问spring+hibernate

    在实际开发中,结合Spring、Hibernate和Web服务,不仅可以提高开发效率,还能提供健壮的数据访问功能,适用于各种分布式、跨平台的应用场景。通过不断学习和实践,开发者可以更好地掌握这些技术,提升自己的专业技能...

    spring mvc + spring + hibernate 全注解整合开发视频教程 11

    此外,教程可能还会涵盖事务管理的配置,以及如何使用Spring Data JPA进一步简化数据访问层的代码。 整合这三大框架,可以实现高效、灵活且易于维护的Java Web应用。通过注解,开发者可以减少XML配置,提高代码的...

    springmvc, spring5.x , hibernate5.x 整合

    在Hibernate中,实体类需要继承Serializable接口,并使用@Entity注解标记。属性上应用@Column注解来指定数据库字段,@Id注解标识主键。为了实现CRUD操作,我们通常会创建对应的DAO接口和实现类,利用Session的方法如...

    Spring与Hibernate集成

    在Spring中,我们通常使用`LocalSessionFactoryBean`来创建Hibernate的SessionFactory,并通过`HibernateTemplate`或`SessionFactory`接口进行数据访问操作。`SessionFactory`是一个线程安全的工厂,用于创建`...

    spring mvc + spring + hibernate 全注解整合开发视频教程 04

    同时,我们还会关注性能优化,如缓存机制(如使用`@Cacheable`注解实现缓存)和数据访问优化等。 总的来说,这个视频教程04将带领我们进一步了解如何通过注解实现Spring、Spring MVC和Hibernate的无缝整合,提高...

    Spring之Spring2.5集成Hibernate3.6

    在实际集成过程中,开发者需要配置Spring的Hibernate模板或JPA支持,创建SessionFactory或EntityManagerFactory,然后定义数据访问对象(DAO),并利用Spring的依赖注入将它们注入到业务服务(Service)中。...

    用Maven搭建Spring+Spring MVC+Hibernate框架

    本篇文章将深入探讨如何使用Maven作为构建工具,在Eclipse环境中搭建一个整合了Spring、Spring MVC和Hibernate的项目。 首先,让我们了解Maven。Maven是Apache开发的一款项目管理和综合工具,它通过一个项目对象...

    springmvc spring hibernate整合Demo

    5. 定义DAO:创建数据访问对象(DAO)接口,包含CRUD操作。这些接口通常由Spring管理,通过代理模式实现事务控制。 6. 编写Controller:定义处理HTTP请求的Controller类,注入DAO,调用其方法处理业务逻辑。...

    使用Spring进行数据访问

    本篇将详细阐述如何使用Spring进行数据访问,涵盖多种数据访问方式,包括JDBC、ORM(对象关系映射)框架如Hibernate和MyBatis,以及Spring Data JPA等。 首先,Spring JDBC(Java Database Connectivity)模块提供...

    hibernate annotation spring 中文参考文档

    "spring-framework-reference"文档中详细介绍了Spring的核心特性,包括Bean的声明和管理、Spring MVC的使用、数据访问支持(如JDBC、Hibernate集成)以及Spring的其他模块,如Spring Boot和Spring Security。...

    org.springframework.orm.hibernate3.LocalSessionFactoryBean

    3. **LocalSessionFactoryBean**:Spring框架中的一个类,用于通过Spring IoC容器来配置和创建Hibernate SessionFactory实例。该类提供了自动装配Hibernate配置文件的能力,并且可以很容易地与Spring事务管理集成。 ...

    Spring+Struts2+hibernate+Redis整合

    - Struts2拦截器:如果需要在Struts2中使用缓存,可以自定义拦截器,实现请求前检查缓存,请求后更新缓存的功能。 6. **优化与实践**: - 使用Redis的发布/订阅(Pub/Sub)功能进行消息通信,例如通知缓存更新。 -...

    基于spring mvc、spring、hibernate、bootstrap、maen开发的企业级项目,导入即可运行

    此外,Spring还提供了事务管理、数据访问集成、JMS、WebSocket等多种功能模块。 **Hibernate**: Hibernate是一个强大的对象关系映射(ORM)框架,它简化了Java应用程序与数据库之间的交互。通过Hibernate,开发者...

    spring mvc,spring, hibernate 整合登录实例

    在本文中,我们将深入探讨如何将Spring MVC、Spring和Hibernate这三大流行框架整合在一起,以构建一个完整的登录实例。这个实例旨在提供一个清晰、简洁且易于理解的代码结构,帮助初学者快速上手。 首先,Spring ...

    Spring+Spring mvc+Hibernate+Bootstrap、企业级员工信息管理系统

    01. 采用后台及前台的 Spring + Spring mvc + Hibernate + Bootstrap 02. 后台全注解式的开发(除了必要的spring和hibernate的xml配置以外) 03. 后台通过自定义注解结合一个访问拦截器实现整个系统的权限控制 04...

    spring集合hibernate多数据切换

    5. **代码编写**:在业务代码中,我们不再直接依赖特定的数据源,而是通过Spring的AOP代理和自动注入,使得每次数据访问操作都会根据路由规则选择合适的数据源。 6. **Maven工程结构**:在“spring-multi-...

    spring boot 2多数据源,里面有hibernate和mybatis的多数据源代码

    在这个项目中,我们有两个主要的数据访问技术:Hibernate和MyBatis,它们都是Java领域中广泛使用的ORM(对象关系映射)工具。 **Hibernate** 是一个强大的ORM框架,它允许开发者通过Java对象来操作数据库,而无需...

    spring mvc 与JPA/Hibernate的整合示例

    在Java Web开发中,Spring MVC和JPA(Java Persistence API)以及Hibernate作为ORM(对象关系映射)框架的实现,是构建高效、可...通过理解这些组件的协同工作,开发者可以更好地掌握Java Web开发中的数据访问技术。

    spring+spring mvc+hibernate框架整合简单小例子

    此外,Spring还包含了丰富的功能模块,如数据访问、事务管理、远程服务、Web应用支持等。 Spring MVC是Spring框架的一部分,专为构建Web应用程序而设计。它遵循Model-View-Controller(MVC)设计模式,将业务逻辑、...

Global site tag (gtag.js) - Google Analytics