为了账号安全,请及时绑定邮箱和手机立即绑定

JDBC Class.forName与DriverManager.registerDriver

JDBC Class.forName与DriverManager.registerDriver

繁花如伊 2019-11-12 14:58:55
forName方法与registerDriver加载和注册JDBC驱动程序有何区别?
查看完整描述

3 回答

?
蝴蝶刀刀

TA贡献1801条经验 获得超8个赞

切勿DriverManager.registerDriver()手动调用方法。JDBC规范要求驱动程序在类加载时进行注册,并通过加载该类Class.forName()。在JDBC 4中,仅在类路径上就可以自动加载驱动程序。

DriverManager.registerDriver()手动操作有潜在危险,因为它实际上会使驱动程序注册两次。如果您的代码要求您注销驱动程序以防止内存泄漏,那么您最终只会注销一次,并保留第二个实例的注册状态。


查看完整回答
反对 回复 2019-11-12
?
aluckdog

TA贡献1847条经验 获得超7个赞

除了Joachim Sauer已经提到的有关JDBC 4驱动程序的内容外,请注意,实际上,您通常想注入 EntityManager(JPA)或池化的DataSource(并使用Spring的JdbcTemplate)。


查看完整回答
反对 回复 2019-11-12
  • 3 回答
  • 0 关注
  • 854 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信