Hibernate连接池配置

hibernate 连接池配置详解 hibernate 连接池配置详解,四种连接方式:第一种方案,Hibernate默认连接池;第二种方案是:C3P0;第三种方案是:dbcp;第四种方案是:Proxool (推荐) 立即下载
Hibernate 支持第三方的连接池,官方推荐的连接池是 C3P0,Proxool, 以及 DBCP 。在配置连接池时需要注意的有三点:

一、 Apche 的 DBCP 在 Hibernate2 中受支持,但在 Hibernate3 中已经不再推荐使用,官方的解释是这个连接池存在缺陷。如果你因为某种原因需要在 Hibernate3 中使用 DBCP ,建议采用 JNDI 方式。

二、默认情况下(即没有配置连接池的情况下), Hibernate 会采用内建的连接池。但这个连接池性能不佳,且存在诸多 BUG (笔者就曾在 Mysql 环境下被八小时连接悬空问题困扰过),因此官方也只是建议仅在开发环境下使用。

三、 Hibernate2 和 Hibernate3 的命名空间有所变化。例如,配置 C3P0 时的 provider_class 有 Hibernate2 环境下使用 net.sf.hibernate.connection.C3P0ConnectionProvider ,在 Hibernate3 环境下使用 org.hibernate.connection.C3P0ConnectionProvider 。

下面是 Hibernate 环境下几种常见的连接池配置:
1 . Hibernate 默认连接池
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE hibernate-configuration
PUBLIC "-//Hibernate/Hibernate Configuration DTD//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory >
<!—JDBC 驱动程序 -->
<property name="connection.driver_class">com.mysql.jdbc.Driver</property>
<!-- 连接数据库的 URL-->
<property name="connection.url">
jdbc:mysql://localhost:3306/schoolproject
</property>
<property name="connection.useUnicode">true</property>
<property name="connection.characterEncoding">UTF-8</property>
<!-- 连接的登录名 -->
<property name="connection.username">root</property>
<!— 登录密码 -->
<property name="connection.password"></property>
<!-- 是否将运行期生成的 SQL 输出到日志以供调试 -->
<property name="show_sql">true</property>
<!-- 指定连接的语言 -->
<property name="dialect">org.hibernate.dialect.MySQLDialect</property>
<!-- 映射 Student 这个资源 -->
<mapping resource="com/wqbi/model/pojo/student.hbm.xml" />
</session-factory>
</hibernate-configuration>
 
2 . C3P0 连接配置
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE hibernate-configuration
PUBLIC "-//Hibernate/Hibernate Configuration DTD//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory >
<!—JDBC 驱动程序 -->
<property name="connection.driver_class">com.mysql.jdbc.Driver</property>
<!-- 连接数据库的 URL-->
<property name="connection.url">
jdbc:mysql://localhost:3306/schoolproject
</property>
<property name="connection.useUnicode">true</property>
<property name="connection.characterEncoding">UTF-8</property>
<!-- 连接的登录名 -->
<property name="connection.username">root</property>
<!-- 登录密码 -->
<property name="connection.password"></property>
 
<!-- C3P0 连接池设定 -->
<p
<property name="hibernate.connection.provider_class">org.hibernate.connection.C3P0ConnectionProvider
</property>
<property name="hibernate.c3p0.max_size">20</property>
<property name="hibernate.c3p0.min_size">5</property>
<property name="hibernate.c3p0.timeout">120</property>
<property name="hibernate.c3p0.max_statements">100</property>
<property name="hibernate.c3p0.idle_test_period">120</property>
<property name="hibernate.c3p0.acquire_increment">2</property>
<!-- 是否将运行期生成的 SQL 输出到日志以供调试 -->
<property name="show_sql">true</property>
<!-- 指定连接的语言 -->
<property name="dialect">org.hibernate.dialect.MySQLDialect</property>
<!-- 映射 Student 这个资源 -->
<mapping resource="com/wqbi/model/pojo/student.hbm.xml" />
</session-factory>
</hibernate-configuration>
 
3 . proxool 连接池
(1) 先写 proxool 的配置文件,文件名: proxool.xml (一般放在与 hibernate.cfg.xml 文件在同一个目录中)本例配置的是 MYSQL 数据库,数据库的名字为 schoolproject
<?xml version="1.0" encoding="UTF-8"?>
<!-- the proxool configuration can be embedded within your own application's.
Anything outside the "proxool" tag is ignored. -->
<something-else-entirely>
<proxool>
<!-- 连接池的别名 -->
<alias>DBPool</alias>
<!--proxool 只能管理由自己产生的连接 -->
<driver-url>
jdbc:mysql://localhost:3306/schoolproject?useUnicode=true&amp;characterEncoding=UTF8
</driver-url>
<!—JDBC 驱动程序 -->
<driver-class>com.mysql.jdbc.Driver</driver-class>
<driver-properties>
<property name="user" value="root"/>
<property name="password" value=""/>
</driver-properties>
<!-- proxool 自动侦察各个连接状态的时间间隔 ( 毫秒 ), 侦察到空闲的连接就马上回
收 , 超时的销毁 -->
<house-keeping-sleep-time>90000</house-keeping-sleep-time>
<!-- 指因未有空闲连接可以分配而在队列中等候的最大请求数 , 超过这个请求数的
用户连接就不会被接受 -->
<maximum-new-connections>20</maximum-new-connections>
<!-- 最少保持的空闲连接数 -->
<prototype-count>5</prototype-count>
<!-- 允许最大连接数 , 超过了这个连接,再有请求时,就排在队列中等候,最大的
等待请求数由 maximum-new-connections 决定 -->
<maximum-connection-count>100</maximum-connection-count>
<!-- 最小连接数 -->
<minimum-connection-count>10</minimum-connection-count>
</proxool>
</something-else-entirely>
(2) 配置 hibernate.cfg.xml 文件
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE hibernate-configuration
PUBLIC "-//Hibernate/Hibernate Configuration DTD//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory >
<property name="hibernate.connection.provider_class">
org.hibernate.connection.ProxoolConnectionProvider
</property>
<property name="hibernate.proxool.pool_alias">DBPool</property>
<property name="hibernate.proxool.xml">proxoolconf.xml</property>
<!-- 是否将运行期生成的 SQL 输出到日志以供调试 -->
<property name="show_sql">true</property>
<!-- 指定连接的语言 -->
<property name="dialect">org.hibernate.dialect.MySQLDialect</property>
<!-- 映射 Student 这个资源 -->
<mapping resource="com/wqbi/model/pojo/student.hbm.xml" />
</session-factory>
</hibernate-configuration>
(1) hibernate.connection.provider_class 定义 Hibernate 的连接加载类,这里 Proxool 连接池是用这个,不同的连接池有不同的加载类,可以查阅 Hibernate 文档获取相关信息
(2) hibernate.proxool.pool_alias 这里就是用我们上面提到的连接池的别名
(3) hibernate.proxool.xml 是向 Hibernate 声明连接池的配置文件位置,可以用相对或绝对路径,用相对路径时要注意一定在要 Path 范围内!不然会抛出异常。
(4) dialect 是声明SQL语句的方言
(5) show_sql 定义是否显示 Hibernate 生成的SQL语言,一般在调试阶段设为 true, 完成后再改成 false ,这样有利于调试。
(6) <mapping > 资源文件映射
 
4 . JNDI 连接池,数据源已经由应用服务配置好 ( 如 Web 服务器 ) , Hibernate 需要做的只是通过 JNDI 名查找到此数据源。应用服务器将连接池对外显示为 JNDI 绑定数据源,它是 javax.jdbc.Datasource 类的一个实例。只要配置一个 Hibernate 文件,如:
hibernate.connection.datasource=java:/comp/env/jdbc/schoolproject //JNDI 名
hibernate.transaction.factory_class = org.hibernate.transaction.JTATransactionFactory
hibernate.transaction.manager_loopup_class =
org.hibernate.transaction.JBossTransactionManagerLookup
hibernate.dialect=org.hibernate.dialect.MySQLDialect
hibernate连接池 包括了四种常用连接池的配置以及对应的支持包 立即下载

相关推荐

用python将dycom .dcm格式图像转换为nifti .nii

因为发现目前搜索到的多数中文教程并不能正确将FMRI图像正确转换,例如很多用simpleITk的seriesreader的,所以写了一下自己正确转换的方法。因为FMRI是一个4D数据,有时间轴,所以用seriesreader读写出来的图像把时间轴维度给降维了。当然你用SPM12工具的dycom import也是能正确转换的,但是我还是喜欢python这样的,代码直接简单。

qq_41103479的博客 3609

Hibernate 连接池配置配置

1、Hibernate内置连接池 hibernate.cfg.xml文件内容: &lt;?xml version="1.0" encoding="UTF-8"?&gt; &lt;!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "...

山不转的博客 3688

最小二乘法(看完即会)

其中,X是数据矩阵,每一行是一个数据点,每一列是一个自变量(包括截距项),Y是观测值向量,β是待求的系数向量。为了找到使S最小的a和b的值,我们需要对S求关于a和b的偏导数,并令它们等于零。最小二乘法的数学公式通常用于线性回归问题,其中目标是找到一条直线(或更高维度的超平面),使得这条直线与给定数据点的误差平方和最小。同样地,通过求偏导数和令偏导数等于零,我们可以得到一个线性方程组,解这个方程组可以找到最优的b_0, b_1, …+ b_m*x_m,其中b_0是截距,b_1到b_m是各个自变量的系数。

qlkaicx的博客 2万+

另一遍hibernate连接池配置

我花了三个晚上的时间,把hibernate与三种常用连接池的配置研究出来,希望对大家有帮助。以下三种连接都是以连接MySQl为例。org.gjt.mm.mysql.Driver jdbc:mysql://localhost:3306/struts?useUnicode=true&characterEncoding=GBK root 8888上面的一段配置,在c3p0和dbcp中,都是必需的,因为h

709

新英格兰10机39节点matlab建模,ieee10机39节点系统数据

【实例简介】ieee10机39节点系统数据,主要是BPA数据!【实例截图】【核心代码】ne_039_bus└── ne_039_bus├── 039readme.doc├── bpa│ ├── 039bpa.dat│ ├── 039bpa.swi│ ├── LFerr.LIS│ ├── OneNote 目录.onetoc2│ └── STERR.LIS├── eurostag│...

weixin_39851809的博客 3274

Scrapy实现微博关键词爬虫(爬虫结果写入mongodb)

话不多说,上代码: spiders文件夹下的microBlogSpider.py里这样写: # -*- coding: utf-8 -*- import scrapy from scrapy import Spider, Request, FormRequest from scrapy.selector import Selector import datetime import random from blogSpider.items import microBlogItem, keyWordItem f

qq_39360565的博客 1779

21. Hibernate 性能之数据库连接池

从本节课程开始,和大家一起聊聊Hibernate中的性能问题,面对开发者,Hibernate表现出卓越的数据库操作能力。使用框架最大的优势就是带来操作的快捷、便利。同时,因为框架的封装性,其性能往往比原生开发要慢。所以了解、掌握Hibernate的性能调优方案是提升性能的不二法则。了解其性能优化方案,编写最好的性能优化策略,对每一个开发者而言,都是一个必选题。什么是数据库连接池;HIbernate 中如何使用数据库连接池。

这是一个web全栈开发的博客,取其精华去其糟粕,争取让大家一看就懂,一学就会,一用就成~ 2245

使用STM32微控制器实现光电传感器的接口和数据处理

本文将介绍如何使用STM32微控制器实现光电传感器的接口和数据处理的方案,包括硬件设计、引脚配置、数据采集、滤波和阈值判断等关键步骤,并给出相应的代码示例。本文将介绍如何使用STM32微控制器实现光电传感器的接口和数据处理的方案,包括硬件设计、引脚配置、数据采集、滤波和阈值判断等关键步骤,并给出相应的代码示例。在光电传感器的接口和数据处理的实现过程中,要关注系统的性能。在使用STM32微控制器实现光电传感器的接口和数据处理之前,需要设计一个合适的硬件平台。

weixin_66608063的博客 3204

Hibernate的配置中,c3p0连接池相关配置

一、配置c3p0 1、导入 hibernate-c3po连接池包,Maven地址是:http://mvnrepository.com/artifact/org.hibernate/hibernate-c3p0/5.2.16.Final <dependency> <groupId>org.hibernate</...

a616735104的博客 422

别再死磕SPWM了!手把手教你用STM32实现SVPWM驱动PMSM电机(附代码)

本文详细介绍了如何使用STM32实现SVPWM驱动PMSM电机,对比传统SPWM方案,SVPWM在电压利用率、电流THD、转矩脉动和稳态温升等方面均有显著提升。通过克拉克变换优化、扇区快速判断和矢量作用时间补偿等核心算法,结合STM32硬件加速技巧,实现高效电机控制。附代码示例,助力开发者快速掌握SVPWM技术。

weixin_28733777的博客 274

DeerFlow 在 Windows 上的安装与启动详细步骤

DeerFlow Windows安装与启动指南 DeerFlow是基于LangGraph的AI Agent系统,包含后端服务和前端界面。后端安装需Python 3.12+,创建虚拟环境后安装依赖,需注意解决langgraph版本冲突问题(推荐1.0.8版本)。配置文件中需设置模型参数(如本地Qwen3-32B-AWQ模型)和sandbox配置。启动分为两步:LangGraph Server(端口2024)和Backend Gateway(端口8001)。前端要求Node.js 22+和pnpm,配置.env

笨小孩 582

hibernate连接池配置

Hibernate支持第三方的连接池,官方推荐的连接池是C3P0,Proxool,以及DBCP。在配置连接池时需要注意的有三点: 一、Apche的DBCP在Hibernate2中受支持,但在Hibernate3中已经不再推荐使用,官方的解释是这个连接池存在缺陷。如果你因为某种原因需要在Hibernate3中使用DBCP,建议采用JNDI方式。 二、默认情况下(即没有配置连接池的情况下)

zyg168的专栏 404

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

Hibernate连接池的配置

1:Hibernate连接池的配置            在这里笔者简单介绍一下Hibernate配置连接池的方式:      方式1:使用Hibernate自带的连接池。      方式2:使用配置文件指定的数据库连接池。      方式3:从容器中获取得到连接池(如:Tomcat)     Hibernate无论采用哪种方式获取连接池的连接,它对Java程序来说是独立的。Hib

永无止境 5616

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

hibernate dbcp连接池配置

hibernate配置文件hibernate.cfg.xml的详细解释                                 "-//Hibernate/Hibernate Configuration DTD 3.0//EN"            "http://hibernate.sourceforge.net/hibernate-configuration

想飞的鱼 6296

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

hibernate 配置连接池

Hibernate支持第三方的连接池,官方推荐的连接池是C3P0,Proxool,以及DBCP。在配置连接池时需要注意的有三点:       一、Apche的DBCP在Hibernate2中受支持,但在Hibernate3中已经不再推荐使用,官方的解释是这个连接池存在缺陷。如果你因为某种原因需要在Hibernate3中使用DBCP,建议采用JNDI方式。       二、默认情

wangdelin的专栏 408

掌握 Java 中 Hibernate 的连接池配置

在 Java 开发中,Hibernate 是一个广泛使用的对象关系映射(ORM)框架,它简化了数据库操作。而连接池是管理数据库连接的重要组件,合理配置连接池可以显著提高应用程序的性能和可扩展性。本文的目的是深入讲解 Java 中 Hibernate 的连接池配置,涵盖常见连接池的配置方法、原理分析以及实际应用场景,帮助开发者掌握如何优化 Hibernate 与数据库之间的连接管理。本文将按照以下结构展开:首先介绍核心概念与联系,让读者了解连接池的基本原理和与 Hibernate 的关系;

Java大师兄的博客 1148

hibernate mysql 连接池_hibernate+mysql的连接池配置

1:连接池的必知概念首先,我们还是老套的讲讲连接池的基本概念,概念理解清楚了,我们也知道后面是怎么回事了。以前我们程序连接数据库的时候,每一次连接数据库都要一个连接,用完后再释放。如果频繁的数据库操作,就会导致性能很低。连接池的出现,为开发过程提供了一个很好的管理平台。当程序中需要建立数据库连接时,只须从内存中取一个来用而不用新建。同样,使用完毕后,只需放回内存即可。而连接的建立、断开都有连接池自...

weixin_35684578的博客 291

Hibernate 连接池配置

Hibernate 连接池配置 oracle.jdbc.driver.OracleDriver jdbc:oracle:thin:@10.203.14.132:1521:remotedb org.hibernate.dialect.Oracle9Dialect oracledriver imagedb cpic oracle.j...

woshilihuiqi的博客 194

Hibernate配置数据连接池

        Hibernate支持第三方的连接池,官方推荐的连接池是C3P0,Proxool,以及DBCP。在配置连接池时需要注意的有三点:       一、Apche的DBCP在Hibernate2中受支持,但在Hibernate3中已经不再推荐使用,官方的解释是这个连接池存在缺陷。如果你因为某种原因需要在Hibernate3中使用DBCP,建议采用JNDI方式。    

dogiant的专栏 863
上一篇: Java中的static介绍
下一篇: 利用Java反射机制完成XML到对象的解析
Java2King
博客等级 码龄18年 221粉丝 77原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值