zoukankan      html  css  js  c++  java
  • getConnection 区别

     1. 这是一个接口

    package javax.sql;

    DataSource.class

    /**
       * <p>Attempts to establish a connection with the data source that
       * this <code>DataSource</code> object represents.
       *
       * @return  a connection to the data source
       * @exception SQLException if a database access error occurs
       */
      Connection getConnection() throws SQLException;

     2.这是一个dbcp实现类,返回由连接池管理的连接。

    package org.apache.commons.dbcp2;

    BasicDataSource.class

    /**
         * Create (if necessary) and return a connection to the database.
         *
         * @throws SQLException if a database access error occurs
         * @return a database connection
         */
        @Override
        public Connection getConnection() throws SQLException {
            if (Utils.IS_SECURITY_ENABLED) {
                PrivilegedExceptionAction<Connection> action = new PaGetConnection();
                try {
                    return AccessController.doPrivileged(action);
                } catch (PrivilegedActionException e) {
                    Throwable cause = e.getCause();
                    if (cause instanceof SQLException) {
                        throw (SQLException) cause;
                    }
                    throw new SQLException(e);
                }
            }
            return createDataSource().getConnection();
        }

     3. 创建连接并返回

    package java.sql;

    DriverManager.class

    /**
         * Attempts to establish a connection to the given database URL.
         * The <code>DriverManager</code> attempts to select an appropriate driver from
         * the set of registered JDBC drivers.
         *
         * @param url a database url of the form
         * <code>jdbc:<em>subprotocol</em>:<em>subname</em></code>
         * @param user the database user on whose behalf the connection is being
         *   made
         * @param password the user's password
         * @return a connection to the URL
         * @exception SQLException if a database access error occurs
         */
        public static Connection getConnection(String url,
            String user, String password) throws SQLException {
            java.util.Properties info = new java.util.Properties();
    
            // Gets the classloader of the code that called this method, may
            // be null.
            ClassLoader callerCL = DriverManager.getCallerClassLoader();
    
            if (user != null) {
                info.put("user", user);
            }
            if (password != null) {
                info.put("password", password);
            }
    
            return (getConnection(url, info, callerCL));
        }
  • 相关阅读:
    Asp.NET 4.0 ajax实例DataView 模板编程1
    ASP.NET 4.0 Ajax 实例DataView模板编程 DEMO 下载
    部分东北话、北京话
    .NET 培训课程解析(一)
    ASP.NET 4.0 Ajax 实例DataView模板编程2
    ASP.NET Web Game 架构设计1服务器基本结构
    ASP.NET Web Game 构架设计2数据库设计
    TFS2008 基本安装
    Linux上Oracle 11g安装步骤图解
    plsql developer远程连接oracle数据库
  • 原文地址:https://www.cnblogs.com/zno2/p/4566400.html
Copyright © 2011-2022 走看看