JDBC加载驱动和注册驱动有区别吗?区别在哪?

pengtianhu 2019-07-16 07:29:16
DriverManager.registerDriver(new com.mysql.cj.jdbc.Driver());
Class.forName("com.mysql.cj.jdbc.Driver");
这两个是加载驱动还是注册驱动?
...全文
192 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
千羽12138 2019-07-18
  • 打赏
  • 举报
回复
理论上没什么不同,都是为了执行Driver里的静态代码块 关于你的第二种说法,我昨天在博客里刚吐槽过 https://blog.csdn.net/qq_38709999/article/details/96368345
faith.huan 2019-07-16
  • 打赏
  • 举报
回复
这两个方式效果一致,都是注册驱动. class.forName触发Driver的类加载, 过程中会执行Driver中的静态代码块进行驱动注册 静态代码如下


    static {
        try {
            java.sql.DriverManager.registerDriver(new Driver());
        } catch (SQLException E) {
            throw new RuntimeException("Can't register driver!");
        }
    }


62,628

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧