• 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));
        }
  • 相关阅读:
    将RIP协议配置成单播
    powershell的超级破烂的设置问题。
    netsh trace抓包结合microsoft network monitor 进行分析
    Managing Windows Programs from the Command Line: Tasklist
    windows 7 的个超级工具
    Metasploit开源安全漏洞检测工具
    Assigned Internet Protocol Numbers
    4B/5B编码原理
    PHP在IIS下。
    网络层的一些附属协议
  • 原文地址:https://www.cnblogs.com/zno2/p/4566400.html
Copyright © 2020-2023  润新知