首页 > 数据库 > mysql教程 > DBCP连接池的最简单应用(用于Oracle数据库)

DBCP连接池的最简单应用(用于Oracle数据库)

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
发布: 2016-06-07 17:23:26
原创
1201 人浏览过

sean-m700是主机名,ora92是oracle数据库的instance ID. 我手头的机器上没有安装oracle数据库,用的是很早以前的一个oracle9.2的

鉴于有人问起DBCP直接用于JDBC连接的问题,我做了一个最简单的示例。所有资源来源于网上。它不需要什么Web容器,就是一简单的控制台应用。

资源:



当然,还有Oracle jdbc要用的ojdbc14.jar (适用于oracle9i及以上版本)

工程文件:放到这里了。

数据库连接信息:
jdbc:oracle:thin:scott/tiger@sean-m700:1521:ora92
sean-m700是主机名,ora92是oracle数据库的instance ID. 我手头的机器上没有安装oracle数据库,用的是很早以前的一个oracle9.2的拷贝,重新安装实例和相应服务得来的。


源码如下:借化献佛,,源码也是从网上得来的。(?revision=1100136&view=markup)

/* 
// 
33  // 下面是如何使用 BasicDataSource 的简单示例。 
34  // 
35   
36  // 
37  // 请注意,此示例与 PoolingDriver
38  // 示例非常相似。 
39   
40  // 
41  // 要编译此示例,您需要: 
42  //  * commons-pool-1.5.6.jar 
43  //  * commons -dbcp-1.3.jar (JDK 1.4-1.5) 或 commons-dbcp-1.4 (JDK 1.6 ) 
44  //  * j2ee.jar(对于 javax.sql 类) 
45  // 在类路径中。 
46  // 
47  // 要运行此示例,您需要: 
48  //  * commons-pool-1.5.6.jar 
49  //  * commons-dbcp-1.3 .jar (JDK 1.4-1.5) 或 commons-dbcp-1.4 (JDK 1.6 ) 
50  //  * j2ee.jar(用于 javax.sql 类) 
51  //  * 您的(底层)类JDBC 驱动程序
52 // 在您的类路径中。 
53  // 
54  // 使用两个参数调用该类: 
55  //  * 底层 JDBC 驱动程序的连接字符串 
56  //  * 您要执行的查询 
57 // 您还需要确保底层 JDBC 驱动程序
58 // 已注册。  您可以使用“jdbc.drivers”
59 // 属性来执行此操作。 
60  // 
61  // 例如: 
62  //  java -Djdbc.drivers=oracle.jdbc.driver.OracleDriver  
63  //      -classpath commons-pool-1.5.6。 jar:commons-dbcp-1.4.jar:j2ee.jar:oracle-jdbc.jar:。  
64  //      PoolingDataSourceExample 
65  //      "jdbc:oracle:thin:scott/tiger@myhost:1521:mysid" 
66  //      "SELECT * FROM DUAL" 
*/   
/* 
瘦客户端驱动程序 ojdbc14.jar 的 Oracle 连接 URL 具有以下格式: 
jdbc:oracle:thin:[user/password]@[host][:port]:SID 
jdbc:oracle:thin:[用户/密码]@//[主机][:端口]/SID 
 
  user - Oracle 服务器中定义的登录用户名。 
 
  密码 - 登录用户的密码。 
 
  host - Oracle 服务器运行的主机名。 
        默认值为 127.0.0.1 - 本地主机的 IP 地址。 
 
  port - Oracle 侦听连接的端口号。 
        默认值为 1521。 
 
  SID - Oracle 服务器数据库实例的系统 ID。 
        SID 是必需值。默认情况下,Oracle Database 10g Express
        Edition 创建一个名为 XE 的数据库实例。 
*/   
   
导入 org.apache.commons.dbcp.BasicDataSource;   
导入javax.sql.*;   
导入java.sql.*;   
   
public class TestDataSource   
{   
   
    /** 
    * @param args
   */   
    public static void main(String[] args)   
    {   
        System.out .println("设置数据源。");   
        String url = "jdbc:oracle:thin:scott/tiger@sean-m700:1521:ora92";   
        数据源 dataSource = setupDataSource(url);   
        System.out.println("完成...");   
   
        // 现在,我们可以像平常一样使用 JDBC DataSource。   
        //   
        连接 conn = null;   
        语句 stmt = null;   
        ResultSet rset = null;   
   
        try {   
            System.out.println("创建连接。");   
            conn = dataSource.getConnection();   
            System.out.println("创建语句。");   
            stmt = conn.createStatement();   
            System.out.println("执行语句。");   
            rset = stmt.executeQuery("从 DUAL 中选择 1");   
            System.out.println("结果:");   
            int numcols = rset.getMetaData().getColumnCount();   
            while(rset.next()) {   
                for(int i=1;i                    System.out.print("t" rset.getString(i));   
                }   
                System.out.println("");   
            }   
        } catch(SQLException e) {   
            e.printStackTrace();   
        } 最后 {   
            尝试 { 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("老虎");   
        ds.setUrl(connectURI);   
        返回 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();   
    }   
   
}   

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
java - MongoDB关闭连接
来自于 1970-01-01 08:00:00
0
0
0
Confluence MySQL 连接器连接未建立
来自于 1970-01-01 08:00:00
0
0
0
node.js怎么连接数据库
来自于 1970-01-01 08:00:00
0
0
0
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板