spring数据源、数据库连接池
什么是数据源、数据库连接池?
DataSource通常被称为数据源,它包含连接池和连接池管理两个部分,习惯上也经常把DataSource称为连接池。
数据库连接池的基本思想:为数据库连接建立一个“缓冲池”。预先在缓冲池中放入一定数量的连接,当需要建立数据库连接时,只需从“缓冲池”中取出一个,使用完毕之后再放回去。
我们可以通过设定连接池最大连接数来防止系统无尽的与数据库连接。更为重要的是我们可以通过连接池的管理机制监视数据库的连接的数量、使用情况,为系统开发、测试及性能调整提供依据。
数据源的来源?(重点)
Web应用服务器和spring容器
在以往的应用中,数据源一般是Web应用服务器提供的(如tomcat)通过JNDI获取,
现在也可以直接在Spring容器中配置数据源,此外,你还可以通过代码的方式创建一个数据源,以便进行无依赖的单元测试。
------------------------------------------------------
常用连接池
C3P0
一个开放源代码的JDBC连接池,它在lib目录中与Hibernate一起发布,包括了实现jdbc3和jdbc2扩展规范说明的Connection 和Statement 池的DataSources 对象,比较耗费资源,效率较低,不赘述。
DBCP
JDBC连接池,在实践中存在BUG,在某些种情会产生很多空连接不能释放,Hibernate3.0已经放弃了对其的支持,不赘述。
Proxool
一个Java SQL Driver驱动程序,提供了对你选择的其它类型的驱动程序的连接池封装。可以非常简单的移植到现存的代码中。完全可配置。快速,成熟,健壮。
可以透明地为你现存的JDBC驱动程序增加连接池功能,负面评价较少,使用的人不多,而且它还提供即时监控连接池状态的功能,便于发现连接泄漏的情况。
备注:
Spring 推荐使用dbcp
Hibernate 推荐使用c3p0和proxool
Druid
java最好的数据连接池,可见:https://www.cnblogs.com/niejunlei/p/5977895.html
------------------------------------------------------
数据源如何识别驱动?
多半能根据url来寻找正确的驱动,实在不行可通过driverClassName来设置。
spring数据源、数据库连接池的更多相关文章
- Druid + spring 配置数据库连接池
		1. Druid的简介 Druid是一个数据库连接池.Druid是目前最好的数据库连接池,在功能.性能.扩展性方面,都超过其他数据库连接池,包括DBCP.C3P0.BoneCP.Proxool.JBo ... 
- JDBC 学习笔记(三)—— 数据源(数据库连接池):DBCP数据源、C3P0 数据源以及自定义数据源技术
		本文目录: 1.应用程序直接获取连接的缺点(图解) 2.使用数据库连接池优化程序性能(图解) 3.可扩展增强某个类方法的功能的三种方式 4.自定 ... 
- Spring Boot 数据库连接池 HikariCP
		简介 HikariCP 来源于日语,「光」的意思,意味着它很快!可靠的数据源,spring boot2.0 已经将 HikariCP 做为了默认的数据源链接池. 官网详细地说明了HikariCP所做的 ... 
- Spring Boot 数据库连接池 Druid
		简介 数据库连接是一种关键的有限的昂贵的资源,这一点在多用户的网页应用程序中体现得尤为突出.对数据库连接的管理能显著影响到整个应用程序的伸缩性和健壮性,影响到程序的性能指标.数据库连接池正是针对这个问 ... 
- spring配置数据库连接池druid
		连接池原理 连接池基本的思想是在系统初始化的时候,将数据库连接作为对象存储在内存中,当用户需要访问数据库时,并非建立一个新的连接,而是从连接池中取出一个已建立的空闲连接对象.使用完毕后,用户也并非将连 ... 
- springboot整合Druid(德鲁伊)配置多数据源数据库连接池
		pom.xml <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-ja ... 
- Spring配置-数据库连接池proxool[转]
		数据库连接是一种关键的有限的昂贵的资源,这一点在多用户的网页应用程序中体现得尤为突出.对数据库连接的管理能显著影响到整个应用程序的伸缩性和健壮性,影响到程序的性能指标.数据库连接池正是针对这个问题提出 ... 
- Spring Boot 数据库连接池参数
		挑战A.I.,赢百万奖金......了解更多详情>>> Tomcat JDBC 连接池 Spring Boot 默认选择 Tomcat JDBC Pool 作为数据库连接池.Tomc ... 
- spring  c3p0数据库连接池连接配置
		c3p0连接池配置 xml文件内容如下: C3P0 通过这些属性,可以对数据源进行各种有效的控制 lc_biz_datasource_c3p0.properties 配置: lc_biz_dataso ... 
- Spring+C3P0数据库连接池配置
		一.xml文件读取.properties文件连接数据库 1.xml文件中的配置 <bean id="dataSourceLocal" name="dataSourc ... 
随机推荐
- 逐一取Map值
			String[] mKeys = starDetil.getRows().keySet().toArray(new String[starDetil.getRows().size()]); starD ... 
- 快速解决:windows安装程序无法将windows配置为在此计算机的硬件上运行
			用手工运行msoobe.ext启用配置的方法, 快速解决:windows安装程序无法将windows配置为在此计算机的硬件上运行 我自己安装碰到的是蓝色这个错误,下面这个也有网友说用安装驱动等方法 ... 
- js如何判断Object是否为空?(属性是否为空)
			js 判断一个 object 对象是否为空 转载原文 判断一个对象是否为空对象,本文给出三种判断方法: 1.最常见的思路,for...in... 遍历属性,为真则为“非空数组”:否则为“空数组” fo ... 
- Python全栈day21(函数的解耦)
			针对上一篇对文件的操作程序,执行一次操作的函数查询,添加,修改,删除都需要在函数里面定义文件处理的过程,整体函数看起来比较乱,代码重复过多 下面新定义一个函数专门用于处理文件操作,然后在不同的函数里面 ... 
- kubernetes基础知识:限制POD和容器运行的CPU、内存
			限制运行内存 https://kubernetes.io/docs/tasks/configure-pod-container/assign-memory-resource/ 先看一个pod的yaml ... 
- [iOS微博项目 - 4.4] - 会员标识
			github: https://github.com/hellovoidworld/HVWWeibo A.会员标识 1.需求 给vip会员打上会员标识 不同等级的vip会员使用不同的标识 使用橙色作为 ... 
- Configuring Logging  配置日志
			NGINX Docs | Configuring Logging https://docs.nginx.com/nginx/admin-guide/monitoring/logging/[ 在上层设置 ... 
- [译]关于JavaScript 作用域你想知道的一切
			原文连接 在学习js的过程对闭包什么的,理解不好,偶然搜到这篇文章.豁然开朗,随翻译. Javacript 中有一系列作用域的概念.对于新的JS的开发人员无法理解这些概念,甚至一些经验丰富的开发者也未 ... 
- jquery插件网址
			各种分布图的插件:http://echarts.baidu.com/demo.html 
- Sublime Text 中文
			1.打开Sublime Text 2.Ctrl+Shift+P,输入Package Control: Install Package回车 3.输入LocalizedMenu,回车 4.点击菜单help ... 
