JDBC第4版的一个伟大的新增功能是,您不必再通过调用Class.forName
来显式加载驱动程序。当应用程序首次尝试连接数据库时,DriverManager
会自动加载在应用程序CLASSPATH
中找到的驱动程序。
我的问题是如何实现的?如果类路径中有多个驱动程序怎么办?
我能猜到的一件事是,在解析连接URL时是否需要JDBC或ODBC驱动程序可以被找到,但是如何从多个符合JDBC标准的驱动程序中选择适用于我所使用的数据库(比如说我正在使用MySql,我需要MySql-Connector驱动程序)呢?在JVM中有任何这些数据库驱动程序的静态映射吗?