JDBC(java Database connectivity)是一个独立于特定数据库管理系统、通用的SQL数据库存取和操做的公共接口(一组api),定义了用来访问数据库的标准java类库,(java.sql.javax.sql)使用这个类库能够以一种标准的方法、方便地访问数据库的资源。java
JDBC 为访问不一样的数据库提供了一种统一的途径,为开发者屏蔽了一些细节问题。JDBC的目标是使java程序员使用jdbc能够链接任何提供了JDBC驱动程序的数据库,这样就使得程序员无需对特定的数据库系统的特色有过多的了解,从而大大简化和加快了开发过程。程序员
JDBC 模型图sql
普通的JDBC数据库链接使用 DriveManager 来获取,每次须要数据库链接的时候,想数据库请求一个,执行完成后断开链接。数据库
对于每一次数据库链接,使用完后都得断开。不然,若是程序出现异常而未能关闭,将会致使数据库系统中的内存泄露,最终将致使重启数据库。api
数据库链接池在初始化时将建立必定数量的数据库链接放到链接池中,这些数据库链接的数量是由最小数据库链接数来设定的。不管这些数据库链接是否被使用,链接池都将一直保证至少拥有这么多链接数量。链接池都最大数据库链接数量限定了这个链接池能占有都最大链接数,当应用程序想链接池都链接数超过最大链接数量时,这些请求将被加入到等待队列中。服务器
JDBC 的 数据库链接池使用 javax.sql.DataSource来表示,DataSource 只是一个接口,该接口一般有服务器(Weblogic,WebSphere,Tomcat)提供实现,开源组织的实现:大数据
JDBC api的实现,链接数据库的。由驱动类和数据库访问类组成。blog