
你理解有误,数据库连接池存在于客户端内部,是客户端连接数据库时提高效率的一种方式。
基本原理就是客户端初始化时一次性建立N个数据库链接,需要访问数据库时,通过getConnection方法获取一个现成的连接,而不是重新建链。releaseConnection 实际也没有断开跟数据库的链接,只是放回到链接池内。
数据库连接数\x0d\也就是一个数据库,最多能够同时 接受 多少个 客户的连接\x0d\\x0d\在没有 数据库连接池 的情况下, 一个客户,每次访问, 就要创建一个 数据库连接, 执行 SQL, 获取结果, 然后关闭、释放掉数据库连接。 \x0d\\x0d\问题就在于 创建一个数据库连接, 是一个很消耗资源,花费很多时间的 *** 作。\x0d\\x0d\于是,数据库连接池 产生了。\x0d\\x0d\数据库连接池 预先打开一定数量的 数据库连接, 并维持着连接。\x0d\\x0d\当客户要执行SQL语句的时候, 从 数据库连接池 里面, 获取一个连接, 执行SQL, 获取结果, 然后把 数据库连接, 交还给数据库连接池。\x0d\\x0d\假如一个 session , 执行 10次独立的 *** 作。\x0d\\x0d\那么不使用 数据库连接池 的, 需要 创建数据库连接10次, 并关闭10次。\x0d\\x0d\使用 数据库连接池 的, 直接使用 数据库连接池 中 已经打开好的,直接使用。
数据库连接池与JDBC的区别如下:
1、理念方面的区别:
数据库连接池负责分配、管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而不是再重新建立一个;释放空闲时间超过最大空闲时间的数据库连接来避免因为没有释放数据库连接而引起的数据库连接遗漏。这项技术能明显提高对数据库 *** 作的性能。
JDBC(Java DataBase Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序,同时,JDBC也是个商标名。
2、原理不同:
与数据库建立连接的标准方法是调用DriverManagergetConnection方法。该方法接受含有某个URL的字符串。DriverManager类(即所谓的JDBC管理层)将尝试找到可与那个URL所代表的数据库进行连接的驱动程序。DriverManager类存有已注册的Driver类的清单。当调用方法getConnection时,它将检查清单中的每个驱动程序,直到找到可与URL中指定的数据库进行连接的驱动程序为止。Driver的方法connect使用这个URL来建立实际的连接。
连接池基本的思想是在系统初始化的时候,将数据库连接作为对象存储在内存中,当用户需要访问数据库时,并非建立一个新的连接,而是从连接池中取出一个已建立的空闲连接对象。使用完毕后,用户也并非将连接关闭,而是将连接放回连接池中,以供下一个请求访问使用。而连接的建立、断开都由连接池自身来管理。同时,还可以通过设置连接池的参数来控制连接池中的初始连接数、连接的上下限数以及每个连接的最大使用次数、最大空闲时间等等。也可以通过其自身的管理机制来监视数据库连接的数量、使用情况等。
以上就是关于关于数据库连接池的问题全部的内容,包括:关于数据库连接池的问题、数据库连接数和数据库连接池的连接数区别是什么、数据库连接池与JDBC的区别等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)