有一点不太明白
public static void main(String[] args) throws SQLException{
Enumeration result = DriverManager.getDrivers();
while (result.hasMoreElements()){
System.out.println(result.nextElement().getClass().getName());
}
}
只是导入了jdbc连接mysql的数据包mysql-connector-java-5.1.21-bin.jar,并没有加载驱动
输入结果:
sun.jdbc.odbc.JdbcOdbcDriver
com.mysql.jdbc.Driver
而且连接还有获取数据库中的内容都没有什么问题。当导入jdbc连接oracle的数据包ojdbc14.jar时,没有获取到oracle的驱动
也就是说,jdbc连接数据库时,对于mysql只要导入驱动包,不需要显示加载驱动就能正常连接
而oracle必须要显示加载驱动
以上问题应该如何合理的解释呢?mysqljdbc

解决方案 »

  1.   

    我不知道这样解释对不对你看看这个类 DriverManager 顶部的注释 The DriverManager methods getConnection and
     getDrivershave been enhanced to support the Java Standard Edition
     Service Providermechanism. JDBC 4.0 Drivers must
     * include the file META-INF/services/java.sql.Driver. This file contains the name of the JDBC drivers
     * implementation of java.sql.Driver.  For example, to load the my.sql.Driver class,
     * the META-INF/services/java.sql.Driver file would contain the entry:
     * <pre>
     * <code>my.sql.Driver</code>
     * </pre>mysql驱动包里有  oracle里面没有
      

  2.   

    就是这个问题,在DriverManager中有解释
      

  3.   


    谢谢结贴给的分其实遇到这种问题 一是看api文档 二就是去看源代码 我感觉看源代码比较好 哈哈