数据源(DataSource)
数据源(DataSource)
制SUN制定的用于获取数据库连接的规范接口。
它存在于 javax.sql包中,用来代替 DriverManager 的方式
来获取连接。
DataSource 与 DriverManager 获取连接的不同:
a).DriverManager是由SUN实现的,它只供了最基本的获取
连接的方式。
而DataSource是一个接口,不光SUN可以实现,很多第三方
的中间件也可以实现,而且实现得很好。
DataSource一般有如下三种实现方式:
标准实现 -- 提供最基本的连接,也就是DriverManager的方式
连接池的实现 -- 提供了连接池,是一种可以缓存及管理多个
数据库连接的“容器”。
分布事务的实现 -- 提供了连接池,而且这个池中的连接是
支持分布式事务的(Distribute Transaction)
一般来说,DataSource 都会由专业的中间件(MiddleWare)来实现。
当然,也有一些开源(免费)的 DataSource的实现。
最有名就是:Apache 组织提供的 commons-dbcp
--
建议,今后都使用 DataSource 来获取连接。
数据源 与 连接池 的关系
数据源(DataSource)是由SUN制定的一个规范(获取数据库连接的规范),
连接池是数据源规范一种比较主流、重要的实现。
使用 commons-dbcp 组件来建立数据源
它依赖于:
commons-dbcp-1.4.jar
commons-pool-1.6.jar
两个jar 文件。
核心类:
BasicDataSource 实现了 javax.sql.DataSource 接口。
--
driver=com.mysql.jdbc.Driver
url=jdbc:mysql://127.0.0.1:3306/ja0218
username=root
password=1234
#最大连接数量:连接池在同一时间能够分配的最大活动连接的数量,,如果设置为非正数则表示不限制,默认值8
maxActive=15
#最小空闲连接:连接池中容许保持空闲状态的最小连接数量,低于这个数量将创建新的连接,如果设置为0则不创建,默认值0
minIdle=5
#最大空闲连接:连接池中容许保持空闲状态的最大连接数量,超过的空闲连接将被释放,如果设置为负数表示不限制,默认值8
maxIdle=10
#初始化连接数:连接池启动时创建的初始化连接数量,默认值0
initialSize=5
#连接被泄露时是否打印
logAbandoned=true
#是否自动回收超时连接
removeAbandoned=true
#超时时间(以秒数为单位)
removeAbandonedTimeout=180
# 最大等待时间:当没有可用连接时,连接池等待连接被归还的最大时间(以毫秒计数),超过时间则抛出异常,如果设置为-1表示无限等待,默认值无限
maxWait=3000
#在空闲连接回收器线程运行期间休眠的时间值(以毫秒为单位).
timeBetweenEvictionRunsMillis=10000
#在每次空闲连接回收器线程(如果有)运行时检查的连接数量
numTestsPerEvictionRun=8
#连接在池中保持空闲而不被空闲连接回收器线程
minEvictableIdleTimeMillis=10000
#用来验证从连接池取出的连接
validationQuery=SELECT 1
#指明是否在从池中取出连接前进行检验
testOnBorrow=true
#testOnReturn false 指明是否在归还到池中前进行检验
testOnReturn=true
数据源(DataSource)相关推荐
- mysql datasource.url_SpringBoot配置数据源DataSource
使用properties文件配置springboot默认数据源 这种方式十分简单,只用在application.properties文件中配置数据库连接属性即可. spring.datasource. ...
- 【spring boot】 禁用/关闭数据源/DataSource
前言 spring boot 2.0.0.RELEASE maven 3.5 eclipse 4.9.0 用spring boot做程序,不需要连接数据库.该程序一直工作正常. 在某次修改程序后,出现 ...
- 配置数据源(DataSource)
DataSource对象是由Tomcat提供的,因此不能在程序中采用创建一个实例的方式来生成DataSource对象. 所以数据源的配置涉及修改server.xml(Tomcat)和web.xml文件 ...
- 自定义配置数据源 DataSource
1 . 直接看代码 自定义数据源类 package com.qf.ds; import java.io.PrintWriter; import java.sql.Connection; import ...
- wildfly mysql xa_wildfly jobss 同时连接多个数据源 datasource xa-datasource
由于需要从一个远程机器取数据.处理后保存到本地数据库处理.用 wildfly datasource 会报: [com.arjuna.ats.arjuna] (default task-6) ARJUN ...
- 数据源(DataSource)是什么以及SpringBoot中数据源配置
数据源 数据源,简单理解为数据源头,提供了应用程序所需要数据的位置.数据源保证了应用程序与目标数据之间交互的规范和协议,它可以是数据库,文件系统等等.其中数据源定义了位置信息,用户验证信息和交互时所需 ...
- DataSource数据源定义
DataSource数据源定义 1.什么是数据源 JDBC2.0 提供了javax.sql.DataSource接口,它负责建立与数据库的连接,当在应用程序中访问数据库时不必编写连接数据库的代码,直接 ...
- Asp.net 2.0 自定义控件开发专题讲解[为用户控件增加DataSource属性, 能够自动识别不同数据源](示例代码下载)...
(一). 概要 开发<数据绑定用户控件>, 要实现一个DataSource属性, 并且能够自动识别不同的数据源, 如: ArrayList, DataTable, DataSet, XM ...
- DataSource数据源简单理解
DataSource数据源简单理解 因为热爱,所以拼搏. –RuiDer 什么是数据源 JDBC2.0 提供了javax.sql.DataSource接口,它负责建立与数据库的连接,当在应用程序中访问 ...
最新文章
- DiscuzX 论坛首页 和 分 区设置版块横排
- Ros学习调试——rqt_console
- VMware VCP
- 中国制鞋机械行业市场“十四五”规划模式及项目投资分析报告2022-2028年版
- 第四章:手机平板要兼顾-探究碎片
- cal css,CSS calc计算属性
- [Python爬虫] 之十八:Selenium +phantomjs 利用 pyquery抓取电视之家网数据
- IGMP协议——IP组播之组管理协议
- HTML语言的一些元素(二)
- Windows XP下使用 whoami 命令
- php获取h5视频直链,一种H5播放实时视频的方法与系统与流程
- 乐得瑞PD快充方案可解Surface充电燃眉之急——专业PD方案厂家
- PCB软件对比分析(AD、Pads、Allegro)
- 2021年中国互联网网民规模及互联网普及率情况:网民总体规模持续增长,城乡地区互联网普及率差异减小[图]
- GCC详解的-Wl选项说明与测试
- pap认证过程_思科课件8、PAP认证、CHAP认证
- Minecraft开服器(Python编写)
- hexo引用本地图片无法显示
- 谷歌老程序员的补丁和中国中年程序员的焦虑,区别到底在哪?
- Java码农进阶之路~数组的深进浅出
热门文章
- SourceTree 3x版本跳过登录
- mysql 按位取反_关于PHP中按位取反问题
- python画桃花_Python小白如何使用爬虫自动抓取《三生三世十里桃花》豆瓣电影短评...
- 2011各大公司薪资一览表,看后你是不是生活更有动力了呢?
- 建筑行业迎来巨变,资质整合之后,企业难以生存?
- python画企鹅_相信你也可以,一文学会如何用Python绘制分块图
- python loads的用法_Python中json.loads方法
- HP CQ 42 系列笔记本更改默认快捷键
- R语言使用glm构建logistic回归模型,构建多个协变量和分组变量之间的关系模型进行倾向性评分计算、估计(Propensity score)
- Win10无法重置电脑(找不到恢复环境,需要重装介质)