如何在eclipse下手动加载jdbc驱动
不明白 eclipse 和手工加载 JDBC 驱动有什么关系。
Eclipse 只是开发工具,它只用来写代码,至于代码做什么跟它没有关系。
在 JDBC 4.0 之前,加载驱动常用2种方法:
第1种:Class.forName(...);
Class.forName("com.oracle.jdbc.driver.OracleDriver"); // 这基本上是所有教材上写的样子,很多刚入门的小伙伴们只知道复制代码,却不知道原因。
第2种:DriverManager.register(new OracleDriver());
第3种:这看上去像是微软当年的策略一下,把别人变成傻瓜,只知道用它的软件,不用再思考了。JDBC 4.0 之后,上面这些都可以省掉了,因为 JDBC 支持 Java Service Provider Interface 约定的把驱动程序的服务注册到 /META-INF/ 目录下的某个文件中就会自动被加载,不需要写代码了,这部分由驱动程序帮我们做了,只要它的这个驱动是支持 JDBC 4.0 的就一定会保证这点。
其实加载驱动最原始的办法就是 DriverManager.register(...),其它办法都是在后面自动帮我们做了这一步,比如 Class.forName 就是这个类的 static { } 里面帮我们做了,JDBC 4 也是类似地最终都调用了这个方法。
看一下支持 JDBC 4.0 的驱动程序包有什么特点:
再来看一下,Class.forName(...) 为什么也能加载驱动:
如果不知道什么叫做 Java 反射,那你再去百度上搜索一下先,理解了之后再回来消化一下。