您的位置:首页 > 数据库 > Oracle

JDBC中是否使用Class.forName()

2017-05-28 21:10 253 查看
在JDBC 4.0中,官方文档这样说明如下:
应用程序不再需要使用 Class.forName() 显式地加载 JDBC 驱动程序。当前使用 Class.forName() 加载 JDBC 驱动程序的现有程序将在不作修改的情况下继续工作。
在调用 getConnection 方法时,DriverManager 会试着从初始化时加载的那些驱动程序以及使用与当前 applet 或应用程序相同的类加载器显式加载的那些驱动程序中查找合适的驱动程序。

可是今天在写项目时(数据库使用的是Oracle),原本我一直没有加Class.forName(),web传数据到数据库一直报
NullPointerException

空指针错误。我以为我解析xml文件出了问题。于是我单独写测试类,发觉不通过网页,单独创建数据传到数据库是没有任何问题的。

折腾了许久,我显示的加载了JDBC驱动程序,结果就OK了。

现在问题来了:不是说好的自动查找吗,而且单独测试表现出确实可以自动查找。可是为什么到了网页端就不行了?

我的知识点有问题,确实是应该加上?还是说是IDEA有问题?

希望知道的朋友指点指点。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息