读书人

Java数据库连接池(1)

发布时间: 2012-09-11 10:49:03 作者: rapoo

Java数据库连接池(一)

Java数据库连接池(一)

几个概念

JDBCJava Data Base Connectivity,java数据库连接,提供使用 JavaTM 编程语言访问并处理存储在数据源(通常是一个关系数据库)中的数据的行业标准。此 API 包括一个框架,凭借此框架可以动态地安装不同驱动程序来访问不同数据源。

?


Java数据库连接池(1)
??

DriverManagerDataSourceDataSource 接口是 JDBC 2.0 API 中的新增内容,它提供了连接到数据源的另一种方法(相对于DriverManager)。使用 DataSource 对象是连接到数据源的首选方法。DataSource隔离了应用和数据源,使得数据源对于应用程序来说是透明的Connection对象代表与数据源进行的唯一会话。如果是客户端/服务器数据库系统,该对象可以等价于到服务器的实际网络连接。取决于提供者所支持的功能,Connection 对象的某些集合、方法或属性有可能无效。

Java.sql.Connection:

Java.sql.Connection是属于JDBC API中核心接口,该接口定义描述其表、所支持的 SQL 语法、存储过程、此连接功能等等的信息。此信息是使用 getMetaData 方法获得的。

Connection:

指应用于数据库之间物理上的一条有效链路,通过该链路应用可以与数据库进行交互,并且该链路由各个厂商的驱动程序来完成具体的实现细节,隐藏底层的复杂性。

?

Driver

Java.sql.Driver:

每个驱动程序类必须实现的接口。 Java SQL 框架允许多个数据库驱动程序。 每个驱动程序都应该提供一个实现 Driver 接口的类。 DriverManager的getConnection方法会尽可能的寻找Driver的实现类,并通过该实现类的connect方法去获取一个连接,并且该连接是由DriverManager来决定其一些属性的,例如url,username,password。

通过Class.forName();可以显示的向DriverManager注册一个驱动程序。

以下是大部分的数据库厂商以及对应提供的驱动实现类:

JDBC-ODBC Bridge (com.ms.jdbc.odbc.JdbcOdbcDriver)JDBC-ODBC Bridge (sun.jdbc.odbc.JdbcOdbcDriver)HSQLDB (server) (org.hsqldb.jdbcDriver)HSQLDB (file) (org.hsqldb.jdbcDriver)Ingres (com.ingres.jdbc.IngresDriver)Informix (com.informix.jdbc.IfxDriver)inetdae7 (com.inet.tds.TdsDriver)IBM DB2 (COM.ibm.db2.jdbc.app.DB2Driver)Cloudscape (COM.cloudscape.JDBCDriver)MySQL (com.mysql.jdbc.Driver)MySQL (org.gjt.mm.mysql.Driver)MS SQLServer (net.sourceforge.jtds.jdbc.Driver)MS SQLServer (com.merant.datadirect.jdbc.sqlserver.SQLServerDriver)MS SQLServer (2005) (com.microsoft.sqlserver.jdbc.SQLServerDriver)MS SQLServer (2000) (com.microsoft.jdbc.sqlserver.SQLServerDriver)MS SQLServer (com.internetcds.jdbc.tds.Driver)Oracle (oracle.jdbc.driver.OracleDriver)PostgreSQL (org.postgresql.Driver)Sybase (com.sybase.jdbc2.jdbc.SybDriver)Vertica (com.vertica.Driver)

??

?

连接池数据库连接是一种关键的有限的昂贵的资源,这一点在多用户的网页应用程序中体现得尤为突出。对数据库连接的管理能显著影响到整个应用程序的伸缩性和健壮性,影响到程序的性能指标。数据库连接池正是针对这个问题提出来的。数据库连接池负责分配、管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而再不是重新建立一个;释放空闲时间超过最大空闲时间的数据库连接来避免因为没有释放数据库连接而引起的数据库连接遗漏。这项技术能明显提高对数据库操作的性能。

JDBC4.0 API已经将数据库连接池纳入到规范当中,意在在众多的连接池中制定一套规范,使得应用和连接池之间更加透明化。由此可见,连接池的重要程度。

以上几个概念之间的关系:


Java数据库连接池(1)
?

读书人网 >其他数据库

热点推荐