`
dyllove98
  • 浏览: 1380679 次
  • 性别: Icon_minigender_1
  • 来自: 济南
博客专栏
73a48ce3-d397-3b94-9f5d-49eb2ab017ab
Eclipse Rcp/R...
浏览量:38265
4322ac12-0ba9-3ac3-a3cf-b2f587fdfd3f
项目管理checkList...
浏览量:78567
4fb6ad91-52a6-307a-9e4f-816b4a7ce416
哲理故事与管理之道
浏览量:131695
社区版块
存档分类
最新评论

DriverManager.getConnection 加载驱动的顺序

阅读更多
因为业务需要程序中重写了jdbc Driver类.com.jdbc.JlinsDriver并使用static 直接
class.forName(com.jdbc.JlinsDriver);

因其他业务需求在执行如下代码的时候
Class.forName("oracle.jdbc.OracleDriver");
connection = DriverManager.getConnection(firstlyUrl, info);

发现程序直接跳到了 com.jdbc.JlinsDriver 类里面去了,
翻看了 DriverManager 源代码发现 每次class.forName的时候会把驱动按照顺序放到ArrayList<Dirver> theDrivers 当中,每次 getConnection的时候从第一个开始加载,如果第一个返回不正确则加载第二个,在每个dirver实现类里面都会有acceptsURL(String url)方法来验证当前的url是否符合当前的驱动,如下代码(IBM JDK),java标准jdk实现方式差不多
for (Driver theDriver : theDrivers) {
                Connection theConnection = theDriver.connect(url, info);
                if (theConnection != null) {
                    return theConnection;
                }
            }


2
1
分享到:
评论

相关推荐

    Java创建和关闭数据库连接的方法附代码.rar

     Connection con=DriverManager.getConnection(dbURL,user,password); //获取连接  DatabaseMetaData dbmd=con.getMetaData(); //获取DatabaseMetaData实例  System.out.println(dbmd.getDatabaseProductName()...

    神通数据库连接oscarJDBC.jar

    神通数据库oscarJDBC.jar数据库连接驱动,找了很久,javal连接方式 public static Connection con() throws Exception {... Connection conn = DriverManager.getConnection(URL,"用户名","密码");  return conn;  }

    JDBC连接各种数据代码.doc

    连接Mysql mysql-connector-java-3.1.7-bin.jar ...java.sql.Connection conn = java.sql.DriverManager.getConnection("jdbc:microsoft:sqlserver://127.0.0.1:1433;databasename=数据库名", "用户名","密码")

    Java 连接多种数据库代码参考

    Connection conn= DriverManager.getConnection(url,user,password); 2、DB2数据库 Class.forName("com.ibm.db2.jdbc.app.DB2Driver ").newInstance(); String url="jdbc:db2://localhost:5000/sample"; //...

    JDBC DriverManager.registerDriver(new Driver());

    JDBC DriverManager.registerDriver(new Driver());

    JDBCTM 指南:入门3 – DriverManager

    对于简单的应用程序,一般程序员需要在此类中直接使用的唯一方法是 DriverManager.getConnection。正如名称所示,该方法将建立与数据库的连接。JDBC 允许用户调用 DriverManager 的方法 getDriver、getDrivers 和 ...

    数据库访问BaseDao类

    con = DriverManager.getConnection(DBURL, "", ""); // 带入路径,无帐号密码 // conn=DriverManager.getConnection(DBURL, DBNAME, DBPASS); System.out.println("数据库连接成功"); } catch ...

    常用数据库jdbc连接写法大全

     cn = drivermanager.getconnection( "jdbc:mysql://mydbcomputernameorip:3306/mydatabasename", susr, spwd );    2. postgresql(http://www.de.postgresql.org)pgjdbc2.jar  class.forname( "org.postgresql....

    greenplum.jar 官方JDBC驱动

    Connection db = DriverManager.getConnection("jdbc:pivotal:greenplum://192.168.139.128:5432;DatabaseName=postgres", "gpadmin", "gpadmin"); Statement st = db.createStatement(); ResultSet rs = st....

    JDBC 数据库常用连接链接字符串

    Connection conn= DriverManager.getConnection(url,user,password); 2、DB2数据库 Class.forName("com.ibm.db2.jdbc.app.DB2Driver ").newInstance(); String url="jdbc:db2://localhost:5000/sample"; //...

    数据库驱动包.rar

    ct=DriverManager.getConnection( url,user,password); System.out.println("连接数据库成功!"); }catch(Exception e) { e.printStackTrace(); System.out.println("连接数据库失败!"); }

    JDBC Driver

     cn = DriverManager.getConnection( "jdbc:microsoft:sqlserver://MyDbComputerNameOrIP:1433;DatabaseName=master", sUsr, sPwd ); //Microsoft SQLServer2005  Class.forName( ...

    JDBC连接各种数据库字符串大全

    Connection conn= DriverManager.getConnection(url,user,password); 1、SQL Server2005/2008数据库 Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver").newInstance(); String url="jdbc:sqlserver:...

    数据库直连驱动包

    数据库直连驱动包.zip

    mongodb-jdbc

    mongodb-jdbc mongodb java jdbc驱动=============== public static void main(String args [])抛出... 连接c = DriverManager.getConnection(jdbcurl,username,password); 语句st = c.createStatement(); prin

    JDBC数据库操作乱码无缝过渡解决方案

    conn=DriverManager.getConnection("jdbc:proxy:xxx"); }catch(ClassNotFoundException e){ e.printStackTrace(); }catch(SQLException e){ e.printStackTrace(); } ... 2) ... Connection conn=null; ...

    greenplum.jar 官方驱动 JDBC

    Connection db = DriverManager.getConnection("jdbc:pivotal:greenplum://192.168.139.128:5432;DatabaseName=postgres", "gpadmin", "gpadmin"); Statement st = db.createStatement(); ResultSet rs = st....

    sql jdbc 2.0.1607.1 UNIX

    Connection con = DriverManager.getConnection(connectionUrl); In the JDBC API 4.0, the DriverManager.getConnection method is enhanced to load JDBC drivers automatically. Therefore, applications do not ...

    sql jdbc 2.0

    Connection con = DriverManager.getConnection(connectionUrl); In the JDBC API 4.0, the DriverManager.getConnection method is enhanced to load JDBC drivers automatically. Therefore, applications do not ...

Global site tag (gtag.js) - Google Analytics