您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

JDBC Class.forName与DriverManager.registerDriver

JDBC Class.forName与DriverManager.registerDriver

Class.forName()完全不与JDBC直接相关。它只是加载一个类。

大多数JDBC驱动程序类通过调用在自己的静态初始化器中注册自己registerDriver()。

registerDriver() 是真正不需要调用的真正调用(除非你编写自己的JDBC驱动程序)。

请注意,在JDBC 4 中,如果你的JDBC驱动程序是最新的,则不需要它们中的任何一个,因为可以使用服务定位机制找到驱动程序(即,只需忽略该调用并照常打开连接)。有关详细信息,请参见文档DriverManager:

在DriverManager的方法getConnectiongetDrivers已得到增强,支持Java标准版服务提供商的机制。JDBC 4.0驱动程序必须包含该文件Meta-INF/services/java.sql.Driver。该文件包含的JDBC驱动程序实现的名称java.sql.Driver。例如,要加载my.sql.Driver类,该Meta-INF/services/java.sql.Driver文件将包含以下条目:

my.sql.Driver

应用程序不再需要使用显式加载JDBC驱动程序Class.forName()。当前使用JDBC驱动程序加载的现有程序Class.forName()将继续运行而无需修改

其他 2022/1/1 18:16:36 有469人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶