繁体   English   中英

如果在使用JDBC时不包括数据库驱动程序,会发生什么情况?

[英]What happens if I don't include a db driver when using JDBC?

我是java开发的新手,很高兴看到与支持php的环境相比,支持多个平台的数据库实现要容易得多。

但是,有一件我感到困惑的事情-我到处都读到我必须做的运行时文件,包括要使用的数据库驱动程序,即:

Class.forName(com.example.jdbc.Driver).newInstance();

但是,忽略这一点似乎也可以正常工作-所以我的问题是,给定服务器URL,jdbc是否会自动找到驱动程序? 如果是这样,为什么我在该主题上阅读的所有教程中都包含这一行?

另外-如果有人对在线Java学习资源(尤其是企业开发)有任何好的提示,请分享!

是的,这在JDK 6中得到了改进有关JDBC 4.0的改进,请参见O'Reilly的这篇文章

尤其是:

在JDBC 4.0中,我们不再需要使用Class.forName()显式加载JDBC驱动程序。 调用方法getConnection时,DriverManager将尝试从初始化时加载的JDBC驱动程序和使用与当前应用程序相同的类加载器显式加载的JDBC驱动程序中查找合适的驱动程序。

另请参见JDK 6中的JavaDoc for DriverManager

这不是JDK 6中的更改吗?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM