Spring和Hibernate的整合基础知识,适合新手了解

Spring和Hibernate的整合基础知识,适合新手了解概述使用Spring管理Hibernate,可以极大地简化Hibernate持久化操作,主要体现如下:Spring容器管理SessionFactory:可以通过DI为Dao对象注入SessionFactory的引用。异常包装:Spring封装了Hibernate异常,所有访问数据库的异常全封装为runtime异常,故可以不用捕获。方便的事务管理:Spring提供了声明式事务管理。访问持久层更加简便:Spring提供了HibernateDaoSupport和HibernateTemplate等类支

概述

使用Spring管理Hibernate,可以极大地简化Hibernate持久化操作,主要体现如下:

  • Spring容器管理SessionFactory:可以通过DI为Dao对象注入SessionFactory的引用。
  • 异常包装:Spring封装了Hibernate异常,所有访问数据库的异常全封装为runtime异常,故可以不用捕获。
  • 方便的事务管理:Spring提供了声明式事务管理。
  • 访问持久层更加简便:Spring提供了HibernateDaoSupport和HibernateTemplate等类支持Hibernate持久化操作。

Spring管理SessionFactory

  • Spring整合Hibernate后,可由Spring直接配置数据源及hibernate的其他属性,此时不需要创建hibernate.cfg.xml;也可依然由hibernate配置数据源及其他hibernate属性,然后由spring配置文件加载hibernate.cfg.xml。
  • Spring整合Hibernate后,可通过依赖注入的方式将数据源传给Hibernate的SessionFactory来管理数据库的连接。

管理SessionFactory与数据库的连接配置方式一(不用创建hibernate.cfg.xml):

在这里插入图片描述
在这里插入图片描述

管理SessionFactory与数据库的连接配置方式二(同时创建hibernate.cfg.xml):

在这里插入图片描述

HibernateTemplate类

HibernateTemplate类使用模板模式,提供了对数据库表数据的增、删、改、查等操作,通过这些操作可以省略获取Session对象、启动事务及提交/回滚事务等繁琐重复的代码。

HibernateTemplate的常用方法:

在这里插入图片描述

HibernateTemplate的应用步骤:

  • 在dao实现类中声明一个HibernateTemplate类型的成员变量,并通过设值注入方式注入其值。
  • 在dao实现类中使用HibernateTemplate实例调用HibernateTemplate的方法进行数据库操作。
  • 在Spring配置文件中配置数据源Bean、 SessionFactory Bean、Dao Bean、HibernateTemplate
    Bean,并在SessionFactory Bean中引用数据源Bean,在HibernateTemplate
    Bean中引用SessionFactory Bean,在Dao Bean中引用HibernateTemplate Bean。

HibernateTemplate应用示例:

①创建一个java项目
② 搭建Spring5和Hibernate5的运行环境及数据库驱动类库构建到项目路径中
③编写持久化类及其映射文件
④ 创建一个Dao接口及其实现类
⑤创建一个业务接口及其实现类
⑥在src目录下新建一个Spring的配置文件
⑦创建测试类

Spring5整合Hihbernate5需要以下JAR文件:

在这里插入图片描述

总结:

使用Spring管理Hibernate后,可以通过DI为Dao对象注入SessionFactory的引用;所有异常被封装为runtime异常,此时可由Spring提供的声明式事务管理自动进行回滚;此外,可使用Spring提供了HibernateDaoSupport和HibernateTemplate等类简化Hibernate持久化操作。

示例:

今天的文章Spring和Hibernate的整合基础知识,适合新手了解分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/24378.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注