`
cnjarchen
  • 浏览: 41709 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

JDBC为什么需要Class.forName("com.mysql.jdbc.Driver")

阅读更多
在使用传统的JDBC连接数据库的时候,以MYSQL为例

Class.forName("com.mysql.jdbc.Driver");
Connection con = DriverManager.getConnection(url, user, password);


为什么要用Class.forName?

看源码:

package com.mysql.jdbc;

import java.sql.DriverManager;
import java.sql.SQLException;

public class Driver extends NonRegisteringDriver{

    public Driver() throws SQLException{}

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

源码之前没秘密,com.mysql.jdbc.Driver很简单,就是红色的那句,看来是在类的static block里面做的初始化,向DriverManager中注册了MYSQL的驱动实例。
分享到:
评论

相关推荐

    浅析使用JDBC操作MySQL需要添加Class.forName("com.mysql.jdbc.Driver")

    主要介绍了使用JDBC操作MySQL需要添加Class.forName("com.mysql.jdbc.Driver")的相关知识,非常不错,具有一定的参考借鉴价值 ,需要的朋友可以参考下

    JDBC连接MySQL驱动

    JDBC连接MySQL数据库驱动Class.forName("com.mysql.cj.jdbc.Driver");

    jdbc驱动程序实例

    //或者Class.forName("com.mysql.jdbc.Driver"); String url ="jdbc:mysql://localhost/myDB? user=soft&password=soft1234&useUnicode=true&characterEncoding=8859_1" //myDB为数据库名 Connection conn= ...

    浅析使用JDBC操作MySQL需要添加Class.forName(“com.mysql.jdbc.Driver”)

    引言 如果熟悉使用JDBC来连接数据库的同学一定很清楚连接数据库的代码中一定会有依据Class.forName ... Class.forName(com.mysql.jdbc.Driver); connection = DriverManager.getConnection(jdbc:

    JDBC连接各种数据代码.doc

    Class.forName( "oracle.jdbc.driver.OracleDriver" ); con = DriverManager.getConnection( "jdbc:oracle:thin:@127.0.0.1:1521:ORCL", "scott", ”tiger”); 连接SqlServer2000 msbase.jar ...

    jdbc笔记整理 sql

    Class.forName("oracle.jdbc.driver.OracleDriver").newInstance(); //Sql Server7.0/2000 数据库 Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance(); //DB2 数据库 Class.froName(...

    sun.jdbc.odbc.JdbcOdbcDriver下载

    jdbc-odbc驱动包,提示找不到驱动,java.lang.ClassNotFoundException: sun.jdbc.odbc.JdbcOdbcDriver, 原因:从jdk从1.8开始,删除了jdbc-odbc桥,所以odbc的驱动是用不了的 解决方法:这里为提供一个解决JDK1.8不...

    java连接多种数据库的驱动

    java连接各种数据库的驱动 jar包 orale: Class.forName("oracle.jdbc.driver.OracleDriver"); mysql:Class.forName("com.mysql.jdbc.Driver"); access:Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); sqlsever:...

    java连接数据库字符串

    Class.forName("oracle.jdbc.driver.OracleDriver").newInstance(); //Sql Server7.0/2000数据库 Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance(); //DB2数据库 Class....

    MySQL 5.7版本以上数据库的连接驱动jar包

    这是MySQL 5.7版本以上数据库的连接驱动jar包,对应加载驱动程序代码: Class.forName(...温馨提示:如果你的MySQL 是5.6版本,加载驱动程序代码为 Class.forName("com.mysql.jdbc.Driver");不是这个资源哟~

    java连接MySQL的jar包.zip

    在java程序中使用JDBC,Class.forName()方法,参数用"com.mysql.cj.jdbc.Driver" (com.mysql.jdbc.Driver已经弃用了),url要加上serverTimezone,例如serverTimezone=GMT,否则会报错。 MySQL 8.0 以上版本驱动包...

    mysql57驱动jar包

    这是MySQL 5.7版本以上数据库的连接驱动jar包,对应加载驱动程序代码: Class.forName(...温馨提示:如果你的MySQL 是5.6版本,加载驱动程序代码为 Class.forName("com.mysql.jdbc.Driver");不是这个资源哟~

    mysql 5.7 57版本以上数据库驱动 jar

    这是MySQL 5.7版本以上数据库的连接驱动jar包(解压密码1234),对应加载驱动程序代码: Class.for...温馨提示:如果你的MySQL 是5.6版本,加载驱动程序代码为 Class.forName("com.mysql.jdbc.Driver");不是这个资源哟~

    mysql-connector-cj-8.0.32.jar JDBC驱动 解压即用

    mysql-connector-j 是 MySQL 官方提供的一个 JDBC 驱动,用于在 Java 应用程序中连接和操作 MySQL 数据库。它是开源的,使用它可以方便地...注意:在MySQL8中驱动可以使用Class.forName("com.mysql.cj.jdbc.Driver")。

    常用数据库jdbc连接写法大全

     class.forname( "org.gjt.mm.mysql.driver" );  cn = drivermanager.getconnection( "jdbc:mysql://mydbcomputernameorip:3306/mydatabasename", susr, spwd );    2. postgresql(http://www.de.postgresql.org...

    myeclipse连接mysql驱动程序和包

    java连接mysql代码 和驱动包 package com.wen.Money; import java.sql.DriverManager; import java.sql.SQLException;... Class.forName("com.mysql.jdbc.Driver").newInstance(); Connection conn=null;

    mysql-connector-java-3.0.14-production-bin.jar

    mysql4.1.10的JDBC驱动 把它拷贝到你的web应用的WEB-INF\lib下(当然也可以设置CLASSPATH) <br>接着修改程序代码: 将你的: Class.for... 改为: Class.forName("com.mysql.jdbc.Driver");

Global site tag (gtag.js) - Google Analytics