Hibernate第十一篇【配置C3P0数据库连接池、线程Session】

Hibernate连接池

Hibernate自带了连接池,但是呢,该连接池比较简单..而Hibernate又对C3P0这个连接池支持…因此我们来更换Hibernate连接池为C3P0

查看Hibernate自带的连接池

我们可以通过Hibernate.properties文件中查看Hibernate默认配置的连接池

hibernate.properties的配置文件可以在\project\etc找到

Hibernate的自带连接池啥都没有,就一个连接数量为1

这里写图片描述


查看Hibernate对C3P0的支持

  • #hibernate.c3p0.max_size 2 最大连接数
  • #hibernate.c3p0.min_size 2 最小连接数
  • #hibernate.c3p0.timeout 5000 超时时间
  • #hibernate.c3p0.max_statements 100 最大执行的命令的个数
  • #hibernate.c3p0.idle_test_period 3000 空闲测试时间
  • #hibernate.c3p0.acquire_increment 2 连接不够用的时候, 每次增加的连接数
  • #hibernate.c3p0.validate false

这里写图片描述

修改Hibernate连接池

我们在hibernate.cfg.xml中配置C3p0,让C30P0作为Hibernate的数据库连接池

查找Hibernate支持的连接池组件有什么

这里写图片描述

既然找到了,那么我们在hibernate.cfg.xml中配置对应的类就和相关配置就行了

<!-- 【连接池配置】 --><!-- 配置连接驱动管理类 --><property name="hibernate.connection.provider_class">org.hibernate.connection.C3P0ConnectionProvider</property><!-- 配置连接池参数信息 --><property name="hibernate.c3p0.min_size">2</property><property name="hibernate.c3p0.max_size">4</property><property name="hibernate.c3p0.timeout">5000</property><property name="hibernate.c3p0.max_statements">10</property><property name="hibernate.c3p0.idle_test_period">30000</property><property name="hibernate.c3p0.acquire_increment">2</property>

线程Session

我们创建Session的时候,有两个方法

  • openSession()【每次都会创建新的Session】
  • getCurrentSession()【获取当前线程的Session,如果没有则创建】

一般地,我们使用线程Session比较多

如果要使用getCurrentSession(),需要在配置文件中配置:

        <!--配置线程Session--><property name="hibernate.current_session_context_class">thread</property>

测试数据


@Testpublic void testSession() throws Exception {//openSession:  创建Session, 每次都会创建一个新的sessionSession session1 = sf.openSession();Session session2 = sf.openSession();System.out.println(session1 == session2);session1.close();session2.close();//getCurrentSession 创建或者获取session// 线程的方式创建session  // 一定要配置:<property name="hibernate.current_session_context_class">thread</property>Session session3 = sf.getCurrentSession();// 创建session,绑定到线程Session session4 = sf.getCurrentSession();// 从当前访问线程获取sessionSystem.out.println(session3 == session4);// 关闭 【以线程方式创建的session,可以不用关闭; 线程结束session自动关闭】//session3.close();//session4.close(); 报错,因为同一个session已经关闭了!}

转载于:https://www.cnblogs.com/zhong-fucheng/p/7202959.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/488399.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

npm 切换源_【分享吧】verdaccio搭建npm私有仓库

verdaccio搭建npm私有仓库前言随着前端技术的不断发展&#xff0c;前后端分离已成为主流趋势&#xff0c;这就导致了前端承受的分工压力会越来越大&#xff0c;前端项目也将变得十分庞杂&#xff0c;因此在技术方面会考虑按照业务线进行拆分成几个业务系统。这些系统之间如何共…

疫情中的人工智能和大数据“社会实验”,将如何影响我国经济社会发展

来源&#xff1a;三思派最近&#xff0c;上海市科学学研究所编制了《人工智能、大数据支撑新冠肺炎疫情防控报告&#xff08;1.0版&#xff09;》。报告预测&#xff0c;疫情过后&#xff0c;人们的生活和工作方式都可能向更加智能化方向发展&#xff0c;一个以智能化、无人化、…

IBM强化Watson对商业语言的理解能力—AI辩论一些关键技术首次商业化

来源&#xff1a;IBM中国2020 年 3 月 11 日&#xff0c;商业人工智能领域领军者 IBM[1]宣布推出几项全新的 IBM Watson 技术&#xff0c;旨在帮助组织机构更清晰地识别、理解和分析英语语言中某些最具挑战性的方面&#xff0c;从而获取更多洞察。全新的 IBM Watson 技术代表着…

删除快捷方式小箭头_修复快捷方式的箭头图标

前一天晚上&#xff0c;用360清理缓存文件后&#xff0c;早上起来一看快捷方式的箭头图标不见了&#xff0c;左下角变成了一片白色。试了很多方法&#xff0c;比如说删除iconcache.db&#xff0c;然后重启资源管理器等等&#xff0c;发现没有用。然后&#xff0c;装上360桌面助…

如何实现对外部php文件的调用,laravel如何引用外部文件

laravel如何引用外部文件,主视图,视图,文件,方式,内容laravel如何引用外部文件易采站长站&#xff0c;站长之家为您整理了laravel如何引用外部文件的相关内容。(1)、首先在app\Http\routes.php中定义路由&#xff1b;Route::get(view,ViewControllerview);Route::get(article,V…

清华大学人工智能深度报告:八大维度解析机器学习

来源&#xff1a;世界人工智能大会机器学习&#xff08;Machine Learning&#xff0c;常简称为 ML&#xff09;已经成为了当今的热门话题&#xff0c;从机器学习概念诞生到机器学习技术的普遍应用经过了漫长的过程&#xff0c;众多优秀的学者为推动机器学习的发展做出了巨大的贡…

【周末阅读】5G时代新型基础设施建设白皮书

来源&#xff1a;智东西【导读】当今世界&#xff0c;新一代信息技术与经济社会深度交融&#xff0c;正引领全球新一轮科技革命和产业变革&#xff0c;其速度、广度、深度前所未有。加快 5G 商用和人工智能、工业互联网、物联网等新型基础设施建设是发挥投资关键作用&#xff0…

pandas取出某一列_Pandas高级运算 | apply与applymap方法详解

大家好&#xff0c;今天我们来聊聊pandas的一些高级运算。在之前文章中&#xff0c;我们介绍了panads的一些计算方法&#xff0c;比如两个dataframe的四则运算&#xff0c;以及dataframe填充Null的方法。今天这篇文章我们来聊聊dataframe中的广播机制&#xff0c;以及apply函数…

深度|​揭秘5G+AI时代的机器人世界!七大核心技术改变人类生活!

来源&#xff1a;电子工程世界AI 和 5G 与机器人技术结合&#xff0c;正在不断催生新的消费电子品类。AI 解决机器理解世界&#xff0c;以及人机交互的问题。5G 拓展机器人的活动边界&#xff0c;并为机器人提供更大的算力和存储空间&#xff08;云协作机器人&#xff09; 。根…

点击按钮,缩放图片(img.width、img.style.width、img.offsetWidth)

前几天在慕课网上看到一个关于图片缩放的教学视频&#xff0c;因为当时对老师使用img.width,而不是使用img.style.width而感到奇怪&#xff0c;所以周末得空了&#xff0c;想来自己试着写出来&#xff0c;相关视频网址如下&#xff1a;http://www.imooc.com/video/1111&#xf…

sql怎么继续编辑已经保存的代码_某团购CMS的GETSHELL操作代码审计

作者&#xff1a;会上树的猪合天智汇 0x00 写点废话在渗透测试中&#xff0c;获取一个webshell应该是我们不屑的追求&#xff0c;今天要通过这个CMS从代码的角度看一下可利用的getshell的方法。这一次的代码审计需要借助工具来定位可能存在的漏洞点&#xff0c;选择Seay源代码审…

测温枪的工作原理全面解析,如何测出你的温度

来源&#xff1a;世界先进制造技术论坛内容来源&#xff1a;网络测温枪&#xff0c;学名是“红外线测温仪”或者“红外线辐射测温仪”。它的原理是&#xff1a;被动吸收目标的红外辐射能量&#xff0c;从而获得物体温度数值。这次疫情&#xff0c;让这个小东西一下子&#xff0…

mysql不要放docker,Docker从入门到放弃

本文将以比较简单的的方式让大家理解docker&#xff0c;以平时常用到的测试环境为主&#xff0c;从用开始&#xff0c;慢慢理解docker。0x00 用docker进行漏洞测试0x01 docker运行busybox0x02 Docker 搭建运行apache-php环境0x03 用Dockerfile自动化构建可ssh登陆的镜像0x04 Do…

一个对称性解释三个宇宙学难题;引力波碰撞会发光?粘液霉菌助力寻找宇宙网 | 一周科技速览...

来源&#xff1a;返朴撰文 &#xff1a;董唯元、杨凌、顾舒晨、洪俊贤、太阁尔、姜小满目 录1. 一个对称性解释三个宇宙学难题2. 引力波碰撞会发光&#xff1f;3. 粘液霉菌助力寻找宇宙网4. 听&#xff0c;是杂质原子的声音5. 更快了&#xff01;地球的大型生态系统在崩溃6. 究…

一ElasticSearch安装启动

参考官方&#xff1a;https://www.elastic.co/downloads/elasticsearch 转载于:https://www.cnblogs.com/tangyongathuse/p/6840231.html

结构化数据不应该被人工智能忘之脑后 !

来源&#xff1a;Ihab Ilyas在处理非结构化数据的问题上&#xff0c;人工智能和深度学习方法一直都表现出众且广为人知&#xff0c;无论是在自然语言处理、知识库自动构建&#xff0c;还是图像视频的识别和生成应用中&#xff0c;都有很多成熟案例。然而对于结构化数据的研究&a…

导入自定义模块syntaxerror: invalid syntax_技术分享 | Quill的模块机制

DevUI技术体验部是一支兼具设计视角和工程视角的团队&#xff0c;服务于华为云DevCloud平台和华为内部上百个中后台系统&#xff0c;主打产品 DevUI Design 服务于设计师和前端工程师。官方网站&#xff1a;devui.design。Ng组件库&#xff1a;ng-devui。DevUI Design&#xff…

我们对时间的理解错了吗?

来源&#xff1a; 利维坦文/Claudia Hammond译/boomchacha校对/Rachel原文/www.bbc.com/future/article/20191203-what-we-get-wrong-about-time“时间”是常见的名词。我们都熟知时间流逝的感觉&#xff1a;现在变成过去&#xff1b;今天变成昨天。你要是住在温带&#xff0c;…

SVN使用过程中遇到的一些问题

更新svn的客户端TortoiseSVN后 &#xff0c;之前使用svn管理的文件的关联图标消失了 说明:下面的解决方法及图片来自博客&#xff1a;装了SVN&#xff0c;你的关联图标变了没有&#xff1f; 解决办法&#xff1a;在同步的文件点击右键如下图 ...现则Settings&#xff0c;出现的…

脑神经计算建模揭示前额叶皮层不同类型中间神经元在信息维持中的作用

来源&#xff1a;智能的本质与未来尽管占比相对锥形神经元数量少&#xff0c;但是中间神经元在大脑皮层实现认知功能中的作用却不容小觑。中间神经元的显著特点就是种类丰富&#xff0c;因此对不同类型中间经元在特定认知功能的分工作用的探索是揭示智能机制的关键之一。中国科…