隨筆-17  評論-64  文章-79  trackbacks-1

          /*
          ?* Copyright 1999-2004 The Apache Software Foundation.
          ?*
          ?* Licensed under the Apache License, Version 2.0 (the "License");
          ?* you may not use this file except in compliance with the License.
          ?* You may obtain a copy of the License at
          ?*
          ?*????? http://www.apache.org/licenses/LICENSE-2.0
          ?*
          ?* Unless required by applicable law or agreed to in writing, software
          ?* distributed under the License is distributed on an "AS IS" BASIS,
          ?* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
          ?* See the License for the specific language governing permissions and
          ?* limitations under the License.
          ?*/

          import javax.sql.DataSource;
          import java.sql.Connection;
          import java.sql.Statement;
          import java.sql.ResultSet;
          import java.sql.SQLException;

          //
          // Here are the dbcp-specific classes.
          // Note that they are only used in the setupDataSource
          // method. In normal use, your classes interact
          // only with the standard JDBC API
          //
          import org.apache.commons.dbcp.BasicDataSource;

          //
          // Here's a simple example of how to use the BasicDataSource.
          // In this example, we'll construct the BasicDataSource manually,
          // but you could also configure it using an external conifguration file.
          //

          //
          // Note that this example is very similiar to the PoolingDriver
          // example.

          //
          // To compile this example, you'll want:
          //? * commons-pool.jar
          //? * commons-dbcp.jar
          //? * j2ee.jar (for the javax.sql classes)
          // in your classpath.
          //
          // To run this example, you'll want:
          //? * commons-collections.jar
          //? * commons-pool.jar
          //? * commons-dbcp.jar
          //? * j2ee.jar (for the javax.sql classes)
          //? * the classes for your (underlying) JDBC driver
          // in your classpath.
          //
          // Invoke the class using two arguments:
          //? * the connect string for your underlying JDBC driver
          //? * the query you'd like to execute
          // You'll also want to ensure your underlying JDBC driver
          // is registered.? You can use the "jdbc.drivers"
          // property to do this.
          //
          // For example:
          //? java -Djdbc.drivers=oracle.jdbc.driver.OracleDriver \
          //?????? -classpath commons-collections.jar:commons-pool.jar:commons-dbcp.jar:j2ee.jar:oracle-jdbc.jar:. \
          //?????? ManualPoolingDataSourceExample
          //?????? "jdbc:oracle:thin:scott/tiger@myhost:1521:mysid"
          //?????? "SELECT * FROM DUAL"
          //
          public class BasicDataSourceExample {

          ??? public static void main(String[] args) {
          ??????? // First we set up the BasicDataSource.
          ??????? // Normally this would be handled auto-magically by
          ??????? // an external configuration, but in this example we'll
          ??????? // do it manually.
          ??????? //
          ??????? System.out.println("Setting up data source.");
          ??????? DataSource dataSource = setupDataSource(args[0]);
          ??????? 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(args[1]);
          ??????????? 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 { rset.close(); } catch(Exception e) { }
          ??????????? try { stmt.close(); } catch(Exception e) { }
          ??????????? try { 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) throws SQLException {
          ??????? 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();
          ??? }
          }

          posted on 2006-05-18 14:06 飛鳥 閱讀(1159) 評論(1)  編輯  收藏 所屬分類: JAVA

          評論:
          # Linkbuilding 2009-05-18 08:03 | Linkbuilding
          Good afternoon. The radical of one century is the conservative of the next. The radical invents the views. When he has worn them out the conservative adopts them.
          I am from Tome and now study English, give please true I wrote the following sentence: "Search engine optimization optimisation and search engine marketing professional, consulting services for higher search.Seo blog from phoenixrealm - search engine optimisation discussion, seo articles published by hannah in seo with comments."

          With love :-D, Boyden.  回復  更多評論
            
          主站蜘蛛池模板: 荣昌县| 临颍县| 广饶县| 偏关县| 新干县| 莱州市| 宜章县| 舞钢市| 嵊泗县| 政和县| 梁山县| 惠来县| 乌兰浩特市| 垫江县| 永春县| 博野县| 雅安市| 新沂市| 临洮县| 海丰县| 通州区| 翁源县| 台中市| 铁岭市| 普兰县| 客服| 云和县| 石棉县| 崇信县| 新沂市| 扬中市| 成武县| 确山县| 桑植县| 仁化县| 济南市| 夏津县| 全南县| 宝应县| 元氏县| 轮台县|