第16章 Oracle JDBC连接池和缓存 161 Oracle JDBC连接池和缓存包.pptVIP

  • 1
  • 0
  • 约 20页
  • 2017-05-08 发布于河南
  • 举报

第16章 Oracle JDBC连接池和缓存 161 Oracle JDBC连接池和缓存包.ppt

第16章 Oracle JDBC连接池和缓存 161 Oracle JDBC连接池和缓存包

第16章 Oracle JDBC连接池和缓存 本章简介 JDBC连接池不为每个请求创建一个新连接,而是预先创建一个数据库连接,每当JDBC程序需要临时访问数据库时就使用这个连接。 创建一个连接缓存(Connection Cache)间接地使用连接池,连接缓存在创建一个连接池后,可以在需要时向连接池自动添加连接。 本章通过示例,介绍JDBC连接池以及连接缓冲的实现方式。 16.1 Oracle JDBC连接池和缓存包 16.2 实现Oracle JDBC连接池 (1)创建一个连接池数据源对象。 (2)使用这个连接池数据源对象设置物理数据库连接的属性。 (3)创建一个缓冲的连接对象,它代表物理数据库连接。 (4)请求、使用和最终关闭连接实例。使用连接实例访问数据库。需要再次访问数据库时,只需请求另一个连接实例。 (5)关闭连接池的连接对象。 16.2.1 创建一个连接池数据源对象 OracleConnectionPoolDataSource类实现了javax.sql包中定义的ConnectionPoolDataSource接口,还扩展了OracleDataSource类。 例如,下面的语句: OracleConnectionPoolDataSource myOCPDS = new OracleConnectionPoolDataSource( ); 16.2.2 设置物理数据库连接的属性 表16.3 OracleDataSource属性 示例: OracleDataSource myDataSource = new OracleDataSource( ); // 创建Oracle数据源对象 setServerName( ) — 设置正在运行该数据库的服务器名称 setDatabaseName( ) — 设置数据库名 setPortNumber( ) — 设置Oracle Net监听器在哪个端口上等待请求 setDriverType( ) — 设置用于与数据库进行通信的Oracle JDBC驱动程序。 setUser( ) — 指定在数据库连接中使用的数据库用户名 setPassword( ) — 指定在数据库连接中使用的数据库口令 示例: String serverName = myDataSource.getServerName( ); String databaseName = myDataSource.getDatabaseName( ); String driverType = myDataSource.getDriverType( ); String portNumber = myDataSource.getPortNumber( ); 示例: myOCPDS.setServerName(DELL); myOCPDS .setDatabaseName(SONGBO); myOCPDS.setPortNumber(1521); myOCPDS.setDriverType(thin); myOCPDS.setUser(store_user); myOCPDS.setPassword(store_password); 16.2.3 创建一个缓冲的连接对象 缓冲的连接对象代表物理连接,可以使用它请求数据库连接实例。javax.sql包中定义的OraclePooledConnection类实现了PooledConnection接口,所以可以使用这个类来创建缓冲的连接对象。 例如,下面的语句: PooledConnection myPooledConnection = myOCPDS.getPooledConnection( ); 16.2.4 请求、使用和最终关闭连接实例 例如,下面的语句: Connection myConnection = myPooledConnection.getConnection( ); 例如,下面的语句: myConnection.close( ); 16.2.5 关闭缓冲的连接对象 在程序结束之前,应该使用close( )方法关闭PooledConnection对象。 例如,下面的语句: myPooledConnection.close( ); 16.3 Oracle JDBC连接缓存 连接缓存的主要优点如下: (1)可以使用一个连接缓存同时建立多个物理数据库连接,然后使用连接实例访问这些物理连接。 (2)创建和管理表示所有物理连接所需的各个缓冲的连接对象不需要开发人员来处理。默认情况下,在需要连接的时候连接缓存会动态创建缓冲的连接对象。 16.3.1 创建连接缓存 OracleConnectionCacheImpl myOCCI = ne

文档评论(0)

1亿VIP精品文档

相关文档