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传数据到数据库一直报
空指针错误。我以为我解析xml文件出了问题。于是我单独写测试类,发觉不通过网页,单独创建数据传到数据库是没有任何问题的。
折腾了许久,我显示的加载了JDBC驱动程序,结果就OK了。
现在问题来了:不是说好的自动查找吗,而且单独测试表现出确实可以自动查找。可是为什么到了网页端就不行了?
我的知识点有问题,确实是应该加上?还是说是IDEA有问题?
希望知道的朋友指点指点。
应用程序不再需要使用 Class.forName() 显式地加载 JDBC 驱动程序。当前使用 Class.forName() 加载 JDBC 驱动程序的现有程序将在不作修改的情况下继续工作。
在调用 getConnection 方法时,DriverManager 会试着从初始化时加载的那些驱动程序以及使用与当前 applet 或应用程序相同的类加载器显式加载的那些驱动程序中查找合适的驱动程序。
可是今天在写项目时(数据库使用的是Oracle),原本我一直没有加Class.forName(),web传数据到数据库一直报
NullPointerException
空指针错误。我以为我解析xml文件出了问题。于是我单独写测试类,发觉不通过网页,单独创建数据传到数据库是没有任何问题的。
折腾了许久,我显示的加载了JDBC驱动程序,结果就OK了。
现在问题来了:不是说好的自动查找吗,而且单独测试表现出确实可以自动查找。可是为什么到了网页端就不行了?
我的知识点有问题,确实是应该加上?还是说是IDEA有问题?
希望知道的朋友指点指点。
相关文章推荐
- 使用JDBC时Class.forName()的作用
- 使用JDBC时Class.forName()的作用
- 使用JDBC时Class.forName()的作用
- 【解惑】JDBC中使用Class.forName("xxx")的意义
- 使用JDBC时Class.forName()的作用
- 使用JDBC时 Class.forName()的作用
- 【解惑】JDBC中使用Class.forName("xxx")的意义
- 使用JDBC时Class.Forname()的作用
- JDBC中注册驱动为什么使用Class.forName
- 使用JDBC时Class.forName()的作用
- 使用JDBC时,Class.forName()的作用
- 使用JDBC时Class.forName()的作用
- 使用JDBC时Class.forName()的作用
- 使用JDBC时Class.forName()的作用
- 使用JDBC时Class.forName()的作用
- 使用JDBC时Class.forName()的作用
- 使用JDBC时Class.forName()的作用
- 使用JDBC时Class.forName()的作用
- 理解class.forName() ---使用jdbc方式链接数据库时会经常看到这句代码
- 引用 使用JDBC时Class.forName()的作用