1、JDBC的介绍

  为了使Java编写的程序不依赖于具体的数据库,Java提供了用于专门操作数据库的API,即JDBC(Java Data Base Connectivity)。JDBC操作不同数据库仅仅是连接方式上的差异而已,使用JDBC的应用程序一旦和数据库建立连接,就可以使用JDBC提供的API操作数据库。
  程序经常使用JBDC进行如下的操作:

  • 与一个数据库建立连接
  • 向已连接的数据库发送SQL语句
  • 处理SQL语句返回的结果

  JDBC是连接数据库的最基本的方式,首先加载jdbc驱动程序,然后建立数据库连接Connection,创建执行SQL的语句Statenment,处理执行结构ResultSet,最后释放资源。这种方式每次和数据库连接时,都需要实例一下连接数据的方法和类。

  JDBC操作数据库的具体代码在我的另一篇博客:
JDBC操作数据库六部曲

2、数据源

  数据源就是数据的来源,我们一般说的数据源就是数据库。

3、数据连接池

  连接池是指这样一个“池子”,池子中的每个东西都是连接数据源的一个“连接”,这样别人想连接数据源的时候可以从这个“池子”里取,用完以后再放回来供以后其他想使用的人使用。

  比较形象点的说,连接池就像数据源的代理人,如我们需要连接(connection)直接找他(连接池)要就可以了,不需要找数据源要,不用的连接也是直接还给连接池。

  也就是有了连接池,我们没必要直接找数据源打交道了,连接池在你的程序所在的机器内存,数据源不一定,并且数据源和连接池会保持一定数量的连接,这样我们访问数据库的时候就不需要找数据源要连接,直接在本地内存中取得连接,可以提高程序的性能。

三者的区别

  JDBC是Java提供给使用者用来连接数据库(数据源),并且操作数据库的工具,连接池里面存放着许多数据库的连接,如果没有连接池的话,我们JDBC每次操作数据库之前都要自己去和数据库进行连接,有了连接池之后,JDBC在操作数据库之前,可以直接到连接池中拿到连接,用完之后,再把连接放回连接池即可。JDBC创建连接时面向的对象由数据库变成了连接池。大大提高了连接数据库的效率。

  举个浅显易懂的例子,每次操作完数据库之后必须关闭连接,现在有了连接池之后,就直接把连接返还给连接池就行了,不用关闭连接。这样效率是肯定会提高的。(个人的可能不准确的例子,清点喷)

  连接池每次初始化时就会创建许多个与数据库的连接供程序使用。

  不用连接池的时候:

  用了连接池的时候:

  因为一次性创建100个连接花的时间是比创建100次一个连接要少的,所以效率就会提高。程序结束之后,连接池中的连接也会全部关闭,不浪费空间。

JDBC、数据源、数据连接池的介绍和区别(三个是不同的东西,别再搞混了)相关推荐

  1. 【Springboot 入门培训】#3 MyBatis 多数据源与缓存和数据连接池设置

    介绍MyBatis项目中如何配置多个数据源连接数据库,以及设置sql文的二级缓存功能,配置多数据源与数据连接池等功能.为大家开发和平时练习的时候提供参考和查询的工具文章. 代码下载百度网盘下载:htt ...

  2. Netbeans 中创建数据连接池和数据源步骤(及解决无法ping通问题)

    1.启动glassfish服务器, 在浏览器的地址栏中输入 http://localhost:4848 2.首先建立JDBC Connection Pools: 3.new 一个Connectio P ...

  3. 深入理解Spring Boot数据源与连接池原理

    ​ Create by yster@foxmail.com 2018-8-2 一:开始 在使用Spring Boot数据源之前,我们一般会导入相关依赖.其中数据源核心依赖就是spring‐boot‐s ...

  4. 数据连接池——JNDI

    数据库连接有很多中方式,JDBC数据库的连接方式,前边我们已经介绍过了,而开发中我们经常使用的是DataBaseConnectionPool(数据库连接池,DBCP).数据库连接池到底是什么?它比jd ...

  5. 《深入理解Mybatis原理》 02-Mybatis数据源与连接池

    对于ORM框架而言,数据源的组织是一个非常重要的一部分,这直接影响到框架的性能问题.本文将通过对MyBatis框架的数据源结构进行详尽的分析,并且深入解析MyBatis的连接池. 本文首先会讲述MyB ...

  6. JdbcTemplate(1)(数据连接池)

    一.环境准备 1.1 导入JAR包 ①IOC容器所需要的JAR包 commons-logging-1.1.1.jar spring-beans-4.0.0.RELEASE.jar spring-con ...

  7. 连接池原理介绍+常用连接池介绍

    下面以访问MySQL为例,执行一个SQL命令,如果不使用连接池,需要经过哪些流程. 不使用数据库连接池的步骤: TCP建立连接的三次握手 MySQL认证的三次握手 真正的SQL执行 MySQL的关闭 ...

  8. SpringBoot中数据连接池的配置(tomcat,HikariCP,dbcp2,druid)

    SpringBoot中数据连接池的配置(tomcat,HikariCP,dbcp2,druid) 文章目录 SpringBoot中数据连接池的配置(tomcat,HikariCP,dbcp2,drui ...

  9. mysql怎么连接数据连接池_Mysql数据库连接池

    一 开源数据连接池 1 dbcp dbcp可能是使用最多的开源连接池,原因大概是因为配置方便,而且很多开源和tomcat应用例子都是使用的这个连接池吧. 这个连接池可以设置最大和最小连接,连接等待时间 ...

最新文章

  1. ETL MySQL in Oracle ODI 12c
  2. 用Python爬取WordPress官网所有插件
  3. 【Linux】7_存储管理基本分区
  4. SpringMVC的文件上传和拦截器
  5. IIS 发布网站到外网
  6. 算法笔记_202:第三届蓝桥杯软件类决赛真题(Java高职)
  7. 初探Backbone
  8. 微信公众号url服务器在哪里,微信公众号url认证(服务器认证)
  9. 开花(在b数组中二分查找a数组元素)
  10. Atitit.c# .net 3.5 4.0 4.5 5.0 6.0各个版本新特性战略规划总结
  11. 微信部分功能故障 已全部恢复
  12. 弘辽科技:丁真一夜爆红背后的直播发展趋势
  13. 【时序】DeepGLO:可以学习全局依赖和局部信息的多时间序列预测模型
  14. 读取文件路径中的图片
  15. stem什么意思matlab,matlab中stem函数用法_常见问题解析,matlab
  16. 什么是网盾,什么是网盾工程?
  17. 视频教程-Excel高效办公必会技巧(Excel系列课程)-Office/WPS
  18. MYSQL字符集与校对规则
  19. 2020年笔记本电脑选购指南
  20. 国内10大物联网公司排行榜,求职必备‼️

热门文章

  1. VS2003,VS2005,VS2008 低版本打开高版本的解决方案
  2. Kubectl 常用命令大全(*)
  3. RT-Thread ——RTC配置
  4. Linux flash 文件系统剖析
  5. 2016 CCF大数据与计算智能大赛 开源资料整理
  6. 新代系统cnc怎样连接电脑_新代数控系统操作基础.doc
  7. 跨系统实时同步数据解决方案
  8. 单相全桥PWM整流双闭环控制。 电压环采用PI控制器,电流环采用PR控制器
  9. 游戏软件测试工程师面试技巧,游戏测试工程师岗位面试总结,这样的水平,该不该得offer呢?...
  10. win10磁贴自定义_如何在Windows 10开始菜单上添加,删除和自定义磁贴