一、JDBC驱动程序分为以下4中:
1、类型1jdbc—odbc桥驱动它是把jdbc操作翻译成对应的odbc调用。它的优点是可以访问odbc能访问的有 数据库,缺点是执行效率比较低
2、类型2 驱动程序直接将应用程序与网络连接,这样,必须在使用此驱动程序的计算机上安装网络库。类型2驱动程序的性能优于类型1 驱动程序。
3、类型3驱动程序将应用程序与中间件服务器(例如 WebLoic Server)连接,进而允许客户与后端多个数据库连接。为了做到这一点,中间件服务器将应用程序的jdbc调用映射到适当的数据库驱动程序上。这些数据库驱动程序安装在中间件服务器上,而不是在客户机上。这种方法的好处是客户机不需要安装网络库。weblogic Server 的Pool驱动程序就是类型3驱动程序。
4、类型4 把jdbc操作直接转换成不使用ODBC或本机API的本机协议。这种驱动程序完全用Java实现的,不需要其他驱动程序和客户端网络库。此类驱动程序是数据库厂商提供的,能够提供对于本公司数据库系统的最优的访问。
二、连接
连接时客户机端Java代码和数据库之间的通信连接,有jdbc驱动程序建立。它保存了所有对数据库服务器调用的上下文信息。在JDBC API中,连接对应于Java.sql.Connection接口。创建一个连接后可以通过连接创建语句(Statement)对象、设置连接选项或是管理事务。
连接分两种:直接连接和池连接。
1、直连接是直连接在客户端Java代码中打开并维护的,对应于类型1、2、4驱动程序。使用直接连接时必须在完成对数据库的操作后将连接关闭。否则太多的连接将导致系统性能下降甚至超过数据库服务器的连接限制,以至于其他程序无法建立到数据库服务器的连接。
2、池连接 池连接时被J2EE服务器打开和维护的。J2EE服务器启动时会建立一定数量的池连接(具体数量由配置参数决定),并一直维持不少于此数目的池连接。客户端程序需要连接时,池驱动程序会返回一个未使用的池连接并将其标记为忙。如果当前没有空闲的连接,池驱动程序就新建一定数量的由参数决定。当使用池连接的调用完成后,池驱动程序将此连接标记为空闲,这样,其他调用又可以使用这个连接。
池连接比一般直接连接更有优越性,因为他提高了性能同时节省了宝贵的资源(例如:数据库连接)。
三、使用连接池的好处
1、节省时间 建立数据库连接是很费时的。通过连接池,可以事先在连接池中建好一定数量的连接,有新的请求来到时可以直接拿一个建立好的连接使用,不用新建连接,这样可以节省时间。
2、封装用户信息 使用连接池可以封装连接数据库系统所用的用户信息(账号和密码),这样客户端程序在建立连接时不用考虑安全信息。