Examples.java
上传用户:dinglihq
上传日期:2013-02-04
资源大小:99958k
文件大小:7k
源码类别:

Java编程

开发平台:

Java

  1. package bible.jdbc;
  2. import java.sql.*;
  3. import java.util.Properties;
  4. import javax.naming.*;
  5. /**
  6.  * Class Examples
  7.  *
  8.  *
  9.  * @author
  10.  * @version %I%, %G%
  11.  */
  12. public class Examples {
  13.   /**
  14.    * Method getDirectConnection
  15.    *
  16.    *
  17.    * @param whichDB
  18.    * @param serverName
  19.    * @param databaseName
  20.    * @param userName
  21.    * @param password
  22.    *
  23.    * @return
  24.    *
  25.    */
  26.   public static Connection getDirectConnection(String whichDB,
  27.     String serverName, String databaseName, String userName,
  28.     String password) {
  29.     Driver     myDriver        = null;
  30.     Connection myConnection    = null;
  31.     String     driverClassName = null;
  32.     String     driverURL       = null;
  33.     if (whichDB.equals("SQLServer")) {
  34.       driverClassName = "weblogic.jdbc.mssqlserver4.Driver";
  35.       driverURL       = "jdbc:weblogic:mssqlserver4";
  36.     } else if (whichDB.equals("Oracle")) {
  37.       driverClassName = "weblogic.jdbc.oci.Driver";
  38.       driverURL       = "jdbc:weblogic:oracle";
  39.     }
  40.     try {
  41.       myDriver = (Driver) Class.forName(driverClassName).newInstance();
  42.       Properties myProperties = new Properties();
  43.       myProperties.put("user", userName);
  44.       myProperties.put("password", password);
  45.       myProperties.put("server", serverName);
  46.       myProperties.put("db", databaseName);
  47.       myConnection = myDriver.connect(driverURL, myProperties);
  48.       System.out.println("Direct connection via " + whichDB + ":"
  49.                          + serverName + " obtained.");
  50.     } catch (Exception e) {
  51.       e.printStackTrace();
  52.     }
  53.     return myConnection;
  54.   }
  55.   /**
  56.    * Method getPooledConnection
  57.    *
  58.    *
  59.    * @param poolName
  60.    * @param dsJNDIName
  61.    *
  62.    * @return
  63.    *
  64.    */
  65.   public static Connection getPooledConnection(String poolName,
  66.     String dsJNDIName) {
  67.     Driver               myDriver     = null;
  68.     Connection           myConnection = null;
  69.     javax.sql.DataSource myDataSource = null;
  70.     if (poolName.equals("")) {
  71.       try {
  72.         Context myContext = new InitialContext();
  73.         myDataSource = (javax.sql.DataSource) myContext.lookup(dsJNDIName);
  74.       } catch (Exception e) {
  75.         e.printStackTrace();
  76.       }
  77.       try {
  78.         myConnection = myDataSource.getConnection();
  79.         System.out.println("Pooled connection via " + dsJNDIName
  80.                            + " obtained.");
  81.         return myConnection;
  82.       } catch (Exception e) {
  83.         e.printStackTrace();
  84.       }
  85.     } else {
  86.       try {
  87.         myDriver =
  88.           (Driver) Class.forName("weblogic.jdbc.pool.Driver").newInstance();
  89.         Properties myProperties = new Properties();
  90.         myProperties.put("connectionPoolID", poolName);
  91.         myConnection = myDriver.connect("jdbc:weblogic:pool", myProperties);
  92.         System.out.println("Pooled connection via " + poolName
  93.                            + " obtained.");
  94.         return myConnection;
  95.       } catch (Exception e) {
  96.         e.printStackTrace();
  97.       }
  98.     }
  99.     return null;
  100.   }
  101.   /**
  102.    * Method getJTSConnection
  103.    *
  104.    *
  105.    * @param poolName
  106.    *
  107.    * @return
  108.    *
  109.    */
  110.   public static Connection getJTSConnection(String poolName) {
  111.     Connection myConnection = null;
  112.     try {
  113.       Driver myDriver =
  114.         (Driver) Class.forName("weblogic.jdbc.jts.Driver").newInstance();
  115.       myConnection = myDriver.connect("jdbc:weblogic:jts:" + poolName, null);
  116.     } catch (Exception e) {
  117.       e.printStackTrace();
  118.     } finally {
  119.       return myConnection;
  120.     }
  121.   }
  122.   /**
  123.    * Method getOracleData
  124.    *
  125.    *
  126.    * @param theConnection
  127.    *
  128.    */
  129.   public static void getOracleData(Connection theConnection) {
  130.     try {
  131.       Statement myStatement = theConnection.createStatement();
  132.       ResultSet rs          =
  133.         myStatement.executeQuery("SELECT * FROM EMP ORDER BY EMPNO");
  134.       while (rs.next()) {
  135.         System.out.println(rs.getInt("EMPNO") + "    "
  136.                            + rs.getString("ENAME") + "    "
  137.                            + rs.getString("JOB"));
  138.       }
  139.     } catch (Exception e) {
  140.       e.printStackTrace();
  141.     }
  142.   }
  143.   /**
  144.    * Method getOracleData
  145.    *
  146.    *
  147.    */
  148.   public static void getOracleData() {
  149.     Connection myConnection = null;
  150.     myConnection = getPooledConnection("OraclePool", "");
  151.     getOracleData(myConnection);
  152.     closeConnection(myConnection);
  153.   }
  154.   /**
  155.    * Method getSQLServerData
  156.    *
  157.    *
  158.    * @param theConnection
  159.    *
  160.    */
  161.   public static void getSQLServerData(Connection theConnection) {
  162.     try {
  163.       Statement myStatement = theConnection.createStatement();
  164.       ResultSet rs          =
  165.         myStatement.executeQuery("select * from authors");
  166.       while (rs.next()) {
  167.         System.out.println(rs.getString("au_id") + "    "
  168.                            + rs.getString("au_lname") + "    "
  169.                            + rs.getString("au_fname"));
  170.       }
  171.     } catch (Exception e) {
  172.       e.printStackTrace();
  173.     }
  174.   }
  175.   /**
  176.    * Method closeConnection
  177.    *
  178.    *
  179.    * @param theConnection
  180.    *
  181.    */
  182.   public static void closeConnection(Connection theConnection) {
  183.     try {
  184.       theConnection.close();
  185.     } catch (Exception e) {
  186.       e.printStackTrace();
  187.     }
  188.   }
  189.   /**
  190.    * Method main
  191.    *
  192.    *
  193.    * @param args
  194.    *
  195.    */
  196.   public static void main(String args []) {
  197.     if (false) {
  198.       Connection myConnection = null;
  199.       myConnection = getDirectConnection("Oracle", "ORADEV1.ZEEWARE.COM", "",
  200.                                          "SCOTT", "tiger");
  201.       getOracleData(myConnection);
  202.       closeConnection(myConnection);
  203.       myConnection = getPooledConnection("OraclePool", "");
  204.       getOracleData(myConnection);
  205.       closeConnection(myConnection);
  206.       myConnection = getPooledConnection("", "OraclePoolDataSource");
  207.       getOracleData(myConnection);
  208.       closeConnection(myConnection);
  209.       myConnection = getDirectConnection("SQLServer", "192.168.0.1", "pubs",
  210.                                          "sa", "password");
  211.       getSQLServerData(myConnection);
  212.       closeConnection(myConnection);
  213.       myConnection = getPooledConnection("SQLServerPool", "");
  214.       getSQLServerData(myConnection);
  215.       closeConnection(myConnection);
  216.       myConnection = getPooledConnection("", "SQLServerPoolDataSource");
  217.       getSQLServerData(myConnection);
  218.       closeConnection(myConnection);
  219.     }
  220.   }
  221. }
  222. /*--- Formatted in Bible Style on Thu, Sep 6, '01 ---*/
  223. /*------ Formatted by Jindent 3.24 Gold 1.02 --- http://www.jindent.de ------*/