DBCP连接池的最简单应用(用于ORACLE数据库)
2015-01-09 18:32
531 查看
鉴于有人问起DBCP直接用于JDBC连接的问题,我做了一个最简单的示例。所有资源来源于网上。它不需要什么Web容器,就是一简单的控制台应用。
资源:
http://apache.etoak.com//commons/pool/binaries/commons-pool-1.5.6-bin.zip http://labs.renren.com/apache-mirror//commons/dbcp/binaries/commons-dbcp-1.4-bin.zip http://download.java.net/maven/1/javaee/jars/javaee-api-5.jar
当然,还有oracle jdbc要用的ojdbc14.jar (适用于oracle9i及以上版本)
工程文件:放到这里了。 http://dl.iteye.com/topics/download/210279f0-f752-37a6-969f-d58ba13cc394
数据库连接信息:
jdbc:oracle:thin:scott/tiger@sean-m700:1521:ora92
sean-m700是主机名,ora92是oracle数据库的instance ID. 我手头的机器上没有安装oracle数据库,用的是很早以前的一个oracle9.2的拷贝,重新安装实例和相应服务得来的。
源码如下:借化献佛,源码也是从网上得来的。(http://svn.apache.org/viewvc/commons/proper/dbcp/trunk/doc/BasicDataSourceExample.java?revision=1100136&view=markup)
不过,需要说明的是,DBCP连接池是几个开源连接池里最不适合用于生产环境的,经常会出现死连接现象。 而cp30和proxool都是不错的选择。DBCP用于测评开发环境,还是比较便利的。
资源:
http://apache.etoak.com//commons/pool/binaries/commons-pool-1.5.6-bin.zip http://labs.renren.com/apache-mirror//commons/dbcp/binaries/commons-dbcp-1.4-bin.zip http://download.java.net/maven/1/javaee/jars/javaee-api-5.jar
当然,还有oracle jdbc要用的ojdbc14.jar (适用于oracle9i及以上版本)
工程文件:放到这里了。 http://dl.iteye.com/topics/download/210279f0-f752-37a6-969f-d58ba13cc394
数据库连接信息:
jdbc:oracle:thin:scott/tiger@sean-m700:1521:ora92
sean-m700是主机名,ora92是oracle数据库的instance ID. 我手头的机器上没有安装oracle数据库,用的是很早以前的一个oracle9.2的拷贝,重新安装实例和相应服务得来的。
源码如下:借化献佛,源码也是从网上得来的。(http://svn.apache.org/viewvc/commons/proper/dbcp/trunk/doc/BasicDataSourceExample.java?revision=1100136&view=markup)
import org.apache.commons.dbcp.BasicDataSource; import javax.sql.*; import java.sql.*; public class TestDataSource { public static void main(String[] args) { System.out.println("Setting up data source."); String url = "jdbc:oracle:thin:scott/tiger@sean-m700:1521:ora92"; DataSource dataSource = setupDataSource(url); System.out.println("Done..."); // Now, we can use JDBC DataSource as we normally would. // Connection conn = null; Statement stmt = null; ResultSet rset = null; try { System.out.println("Creating connection."); conn = dataSource.getConnection(); System.out.println("Creating statement."); stmt = conn.createStatement(); System.out.println("Executing statement."); rset = stmt.executeQuery("select 1 from DUAL"); System.out.println("Results:"); int numcols = rset.getMetaData().getColumnCount(); while(rset.next()) { for(int i=1;i<=numcols;i++) { System.out.print("\t" + rset.getString(i)); } System.out.println(""); } } catch(SQLException e) { e.printStackTrace(); } finally { try { if (rset != null) rset.close(); } catch(Exception e) { } try { if (stmt != null) stmt.close(); } catch(Exception e) { } try { if (conn != null) conn.close(); } catch(Exception e) { } } } public static DataSource setupDataSource(String connectURI) { BasicDataSource ds = new BasicDataSource(); ds.setDriverClassName("oracle.jdbc.driver.OracleDriver"); ds.setUsername("scott"); ds.setPassword("tiger"); ds.setUrl(connectURI); return ds; } public static void printDataSourceStats(DataSource ds) { BasicDataSource bds = (BasicDataSource) ds; System.out.println("NumActive: " + bds.getNumActive()); System.out.println("NumIdle: " + bds.getNumIdle()); } public static void shutdownDataSource(DataSource ds) throws SQLException { BasicDataSource bds = (BasicDataSource) ds; bds.close(); } } } }
不过,需要说明的是,DBCP连接池是几个开源连接池里最不适合用于生产环境的,经常会出现死连接现象。 而cp30和proxool都是不错的选择。DBCP用于测评开发环境,还是比较便利的。
相关文章推荐
- DBCP连接池的最简单应用(用于ORACLE数据库)
- [转]DBCP连接池的最简单应用(用于ORACLE数据库)
- proxool 连接池简单应用
- C#连接Oracle数据库的简单应用
- Spring dbcp连接池简单配置 示例
- JDBC之连接池DBCP与c3p0的简单使用
- Tomcat4/5连接池的设置及简单应用示例
- 连接池的设置及简单应用示例
- Java中的异常处理机制的简单原理和应用以及连接池理解
- C#连接Oracle数据库的简单应用
- dbcp、c3p0、druid连接池的简单配置
- Oracle数据库事务(OracleTransaction)在C#中的一些简单应用
- C#连接Oracle数据库的简单应用
- MySQL数据库连接池的简单应用
- 连接池DBCP的简单使用
- C#连接Oracle数据库的简单应用
- C#连接Oracle数据库的简单应用
- C#连接Oracle数据库的简单应用
- Tomcat4/5连接池的设置及简单应用示例
- dbcp连接池简单封装