博主在学习hibernate以及Spring 过程中  发现    这两个框架整合的时候     发现了 Hibernate 只需要配置一个SessionFactory就可以了~  当我们要做一些操作的时候 我们直接openSession() 就可以获取的到一个Session进行操作~,   但是如果我们要使用jdbc编程的时候只需要配置一个DataSource 也可以~

那么问题来了 DataSource 和  SessionFactory 的区别是又是什么?

sessionFactory是线程安全的,是session的工厂类。SessionFactory并不是轻量级的!实际上它的设计者的意图是让它能在整个应用中共享。典型地来说,一个项目通常只需要一个SessionFactory就够了,但是当你的项目要操作多个数据库时,那你必须为每个数据库指定一个SessionFactory。 SessionFactory在hibernate中实际起到了一个缓冲区的作用,它缓冲了Hibernate自动生成的SQL语句和一些其它的映射数据,还缓冲了一些将来有可能重复利用的数据

datasource数据源是注入给sessionfactory的,然后关联到session中   读到这句的时候我就明白了 , 原来SessionFactory是基于dataSource上建立的。

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

深入的看了一下LocalSessionFactoryBean的这个类我发现了一段代码 确实是如此

protected SessionFactory buildSessionFactory() throws Exception {// Create Configuration instance.Configuration config = newConfiguration();DataSource dataSource = getDataSource();略。。。。。。。。
}

DataSource和SessionFactory的区别相关推荐

  1. 毕业设计(五)---spring学习笔记(3)之-dataSource,sessionFactory,hibernateTemplate,事务 的简单配置。...

    2019独角兽企业重金招聘Python工程师标准>>> 一:dataSource 数据源配置 在applicationContext.xml 中配置 dataSource <b ...

  2. items属性的combo_【内存消耗问题】DataGridViewComboboxColoumn关于Items属性和DataSource属性的性能开销问题...

    [问题场景]:新建窗体应用程序,Form中添加1个DataGridView控件,并新增1列数据(列类型为DataGridViewComboboxColoumn).下拉列表绑定15000条选项值,表格添 ...

  3. Spring JDBC-Spring对事务管理的支持

    概述 事务管理关键抽象 Spring事务管理的实现类 Spring JDBC 和MybBatis的事务管理器的配置 JPA的事务管理器的配置 Hibernate的事务管理器的配置 JTA 的事务管理器 ...

  4. Mybatis官方文档及使用简记

    Mybatis官方文档及使用简记 数据库建表 入门案例 无mapper类最传统的用法 使用mybatis generator 使用mybatis-generator mybatis-spring整合 ...

  5. 把对象交给spring管理的3种方法及经典应用

    背景 先说一说什么叫把对象交给spring管理.它区别于把类交给spring管理.在spring里采用注解方式@Service.@Component这些,实际上管理的是类,把这些类交给spring来负 ...

  6. 你不知道的小技巧 — 把对象交给spring管理的3种方法及经典应用

    背景 先说一说什么叫把对象交给spring管理.它区别于把类交给spring管理.在spring里采用注解方式@Service.@Component这些,实际上管理的是类,把这些类交给spring来负 ...

  7. 基于java的论坛管理系统设计(含源文件)

    欢迎添加微信互相交流学习哦! 项目源码:https://gitee.com/oklongmm/biye 摘 要:当今社会正处在网络时代,信息化大潮席卷全球,网络正以前所未有的速度在我国普及开来.论坛以 ...

  8. springboot添加多数据源连接池并配置Mybatis

    springboot添加多数据源连接池并配置Mybatis 转载请注明出处:https://www.cnblogs.com/funnyzpc/p/9190226.html May 12, 2018  ...

  9. spring基于注解程序开发

    2019独角兽企业重金招聘Python工程师标准>>> 一.datasource.sessionfactory配置 <bean id="dataSource" ...

最新文章

  1. spring boot actuator 入门荔枝
  2. 编译并使用boost库(win7+boost1.60+vs2013)
  3. Android学习笔记(十八)——使用意图筛选器和实现浏览网页(附源代码)
  4. scala的map映射问题
  5. java ArrayList倒序
  6. pythonxml库_Python XML操作
  7. 如何打开苹果Mac触控板的三指拖移功能?
  8. Clover 驱动文件夹_四叶草Clover相关
  9. python写接口程序_利用Python开发PCAN程序接口
  10. (XWZ)的Python学习笔记Ⅱ------面向对象编程
  11. nodejs 加密压缩文件,解密解压文件
  12. at91sam9260 OpenWRT u-boot移植
  13. ccs中c语言定义布尔常量,ccs库里面有变量的定义,我在添加了头文件后编译显示没有定义变量呢...
  14. 关于计算机图像基础知识的整理
  15. 创意相册、3D立体相册
  16. 【内存】内存对齐 的原理
  17. Swin Transformer全方位解读【ICCV2021马尔奖】
  18. 利用Abel_Cain软件实现ARP欺骗
  19. C++ Primer Plus (第六版)编程练习记录(chapter8 函数探幽)
  20. 文字转成语音并播放出来

热门文章

  1. nginx代理ws协议
  2. Sqoop export columns 参数使用
  3. 记录锁、间隙锁和临键锁
  4. java设计模式-观察者模式(广播机制,消息订阅)
  5. ROS中,DWA算法的实现
  6. 解决Visual C++ Redistributable安装找不到vc_runtimeMinimum_x86.msi最简单办法
  7. VS 创建C# winfrom 语音播报(文字朗读),无需下载插件
  8. 视频行人重识别系统(UI界面,Python源码,可下载)
  9. hadoop slaves
  10. std::accumulate的用法