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

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数据库连接DriverManager

    2. **管理连接**:当调用`DriverManager.getConnection`方法时,`DriverManager`会遍历已注册的驱动程序,尝试与给定URL建立连接。如果多个驱动程序能连接同一URL,`DriverManager`会使用第一个成功建立连接的驱动。...

    JDBC基础教程之驱动设置.doc

    当调用`DriverManager.getConnection`方法时,`DriverManager`会遍历每个注册的驱动程序,查找能够与给定URL建立连接的驱动。如果存在多个JDBC驱动程序能够与同一URL连接,`DriverManager`将按照注册的顺序尝试使用...

    JDBC详解 JDBC详解

    当调用 DriverManager.getConnection 方法发出连接请求时,DriverManager 将检查每个驱动程序,查看它是否可以建立连接。 驱动程序的顺序 有时可能有多个 JDBC 驱动程序可以与给定的 URL 连接。在这种情况下,测试...

    JDBC详解

    当应用程序需要与数据库建立连接时,通常会调用`DriverManager.getConnection()`方法。DriverManager负责处理登录限制、日志记录等事务。 为了让DriverManager知道哪些驱动程序可用,驱动程序需要在加载时自动注册...

    学案之数据库连接JAVA.pdf

    - 最后获取连接:`Connection conn= DriverManager.getConnection(url,user,password);` 2. **DB2**: - 加载DB2的JDBC驱动:`Class.forName("com.ibm.db2.jdbc.app.DB2Driver ").newInstance();` - 设置URL:`...

    JBDC驱动(MySQL + SQl server 2005)

    Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/mydb", "username", "password"); ``` - **sqljdbc.jar**:这是Microsoft SQL Server的JDBC驱动,用于连接SQL Server 2005。使用...

    JDBC直连(个人总结综合教程,适合新入门的朋友阅读)

    2. **连接数据库**:使用`Class.forName()`加载驱动,然后通过`DriverManager.getConnection()`建立到数据库的连接。连接通常包含数据库URL、用户名和密码。 ```java Class.forName("com.mysql.jdbc.Driver"); ...

    Java数据库接口JDBC入门基础讲座

    通过`Class.forName()`方法加载驱动后,可以使用`DriverManager.getConnection()`创建数据库连接。 2. **数据库URL**:每个数据库都有自己的特定URL格式,用于标识要连接的数据库实例。例如,对于MySQL,URL可能是`...

    数据库驱动,JDBC开发

    2. **建立连接**:通过`DriverManager.getConnection()`方法建立与数据库的连接,通常需要提供URL、用户名和密码,例如`Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/mydb", ...

    JDBC.rar_JDBC程序

    1. **加载驱动**:通过`Class.forName()`加载相应的JDBC驱动。 2. **建立连接**:使用`DriverManager.getConnection()`方法,传入数据库URL、用户名和密码,获取Connection对象。 3. **创建Statement对象**:根据...

    JAVA连接MySQL数据库的方法与技巧的研究.docx

    2. **创建数据库连接**:加载完驱动后,可以使用`DriverManager.getConnection()`方法创建与MySQL数据库的连接。这个方法需要提供数据库的URL、用户名和密码。 ```java try { Connection con = DriverManager.get...

    JDBC(java访问数据库的解决方案).rar

    Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/mydb", "username", "password"); Statement stmt = conn.createStatement(); ResultSet rs = stmt.executeQuery("SELECT * FROM ...

    (mysql)JDBC与Eclipse进行连接配置

    Connection conn = DriverManager.getConnection(url, "username", "password"); ``` 其中,`mydatabase`是你的数据库名,`username`和`password`是数据库登录的凭证。 3. 创建Statement或PreparedStatement对象...

    Jdbc驱动及连接方式.

    Connection conn = DriverManager.getConnection(url, username, password); ``` 注意,URL中可能需要根据实际的数据库服务器地址、端口和数据库名称进行调整。 4. **执行SQL**: 创建`Statement`对象,然后...

    JSP访问数据库五大步骤.pdf

    使用`DriverManager.getConnection()`方法建立与数据库的连接。这个方法需要提供数据库的URL、用户名和密码。例如: ``` Connection con = DriverManager.getConnection("jdbc:sqlserver://localhost:1433;...

    JDBC重要点(选出比较重要的连接数据库知识)

    - **Connection**:代表数据库连接,通过`DriverManager.getConnection()`方法获取,它是执行SQL语句和事务控制的基础。 - **Statement**:用于执行静态SQL语句并返回结果集,如`PreparedStatement`和`...

    JDBC讲课流程.pdf

    加载驱动通常通过`Class.forName()`方法完成,或者直接使用`DriverManager.registerDriver()`。 3. **数据库连接(Connection)**:`Connection`对象代表与数据库的会话。你可以通过提供数据库URL、用户名和密码来...

    JDBC个人学习笔记

    - **获取连接**: 使用`DriverManager.getConnection()`创建数据库连接,如`DriverManager.getConnection(url, username, password)`,url是数据库的JDBC URL。 - **创建Statement**: 通过Connection创建Statement...

    jdbc jar包

    通过`DriverManager.getConnection()`方法,我们可以建立到数据库的连接。 - `java.sql.Connection`: 表示到数据库的物理连接,提供了执行SQL语句和事务控制的方法。 - `java.sql.Statement`: 用于执行静态SQL语句并...

Global site tag (gtag.js) - Google Analytics