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

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次一个连接要少的,所以效率就会提高。程序结束之后,连接池中的连接也会全部关闭,不浪费空间。

posted @   爱吃雪糕的小布丁  阅读(26)  评论(0编辑  收藏  举报  
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
点击右上角即可分享
微信分享提示