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