mysql连接池有几种_连接池有那几种 分别有什么区别

展开全部

在讲解连接池之前,先弄懂以下几个概念:

数据源:Data source , 读取数据的来源,也就是说你的系统要读取的数据去什么地方找636f70793231313335323631343130323136353331333361326330(存放数据的地方)!

JDBC:全称为Java DataBase Connectivity standard, 它是一个面向对象的应用程序接口(API), 通过它可访问各类关系数据库。

两者之间的关系: 数据源并不等于连接池,数据源不是必须要求实现连接池的,即连接池是数据源的一种.

c3p0: hibernate.cfg.xml中配置

com.mysql.jdbc.Driver

jdbc:mysql://localhost:3306/application_context

true

UTF-8

root

paul

org.hibernate.connection.C3P0ConnectionProvider

20

5

120

100

120

2

……

dbcp: hibernate.cfg.xml中配置

100

1

60000

10

100

1

60000

10

proxool: hibernate.cfg.xml中配置 先写proxool的配置文件,文件名:proxool.xml(一般放在与hibernate.cfg.xml文件在同一个目录中) <?xml version="1.0" encoding="UTF-8"?>

DBPool

jdbc:mysql://localhost:3306/application_context?useUnicode=true&characterEncoding=UTF8

com.mysql.jdbc.Driver

90000

20

5

100

10

配置hibernate.cfg.xml文件 <?xml version='1.0' encoding='UTF-8'?>

org.hibernate.connection.ProxoolConnectionProvider

DBPool

proxoolconf.xml

.JNDI: hibernate.cfg.xml中配置JNDI连接池,数据源已经由应用服务配置好(如Web服务器),Hibernate需要做的只是通过JNDI名查找到此数据源。应用服务器将连接池对外显示为JNDI绑定数据源,它是javax.jdbc.Datasource类的一个实例。只要配置一个Hibernate文件,如: hibernate.connection.datasource=java:/comp/env/jdbc/JNDI_NAME //JNDI名

hibernate.transaction.factory_class = org.hibernate.transaction.JTATransactionFactory

hibernate.transaction.manager_loopup_class=org.hibernate.transaction.JBossTransactionManagerLookup

hibernate.dialect=org.hibernate.dialect.MySQLDialect

区别:在hibernate3.0中,已经不再支持dbcp了,hibernate的作者在hibernate.org中,明确指出在实践中发现 dbcp有BUG,在某些种情会产生很多空连接不能释放,所以抛弃了对dbcp的支持。proxool不少行家推荐使用.c3p0占用资源比较大,效率也不高.

本回答被网友采纳

2Q==

已赞过

已踩过<

你对这个回答的评价是?

评论

收起

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值