java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > JDBC连接MySQL

JDBC以反射机制加载类注册驱动连接MySQL

作者:九九舅舅酒酒

这篇文章介绍了JDBC以反射机制加载类注册驱动连接MySQL的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

package test.jdbc;

//JDBC注册驱动的另一种方式:(这种方式常用)

/*

如何让一个类的静态代码块执行?

所以直接反射此处要学习到的这个类,class文件。这个类就会被加载进JVM,静态代码块在类加载时执行,所以就注册了

就是利用反射来加载Driver类,利用类中的静态代码块实现对驱动的注册

那么如何加载这个类?

非常简单:反射机制!   Class.forName("com.mysql.jdbc.Driver");

Class.forName(类名);  这个类的执行会导致后面类的加载!

//1 注册驱动

Class.forName("com.mysql.jdbc.Driver");

//这里我们不需要接收返回值,因为我们主要需要的是类加载这个动作,且只需要这个动作!。

//因为双引号括起来是字符串,字符串可以写到配置文件当中,

//这种方法常用是因为字符串可以写到文件中!

//但是这样不行,因为Class这个类会有异常,我们需要使用trycatch语句块来环绕

package test.jdbc;
 
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
 
//JDBC注册驱动的另一种方式:(这种方式常用)
/*
如何让一个类的静态代码块执行?
所以直接反射此处要学习到的这个类,class文件。这个类就会被加载进JVM,静态代码块在类加载时执行,所以就注册了
就是利用反射来加载Driver类,利用类中的静态代码块实现对驱动的注册
那么如何加载这个类?
非常简单:反射机制!   Class.forName("com.mysql.jdbc.Driver");
Class.forName(类名);  这个类的执行会导致后面类的加载!
 */
public class JDBC3 {
    public static void main(String[] args) {
        //1 注册驱动
        //这里我们不需要接收返回值,因为我们主要需要的是类加载这个动作,且只需要这个动作!。
        //因为双引号括起来是字符串,字符串可以写到配置文件当中,
        //这种方法常用是因为字符串可以写到文件中!
        try {
            Class.forName("com.mysql.jdbc.Driver");
            //2 获取连接
            Connection connection = DriverManager.getConnection("", "root", "rota");
            //
            System.out.println(connection);
        } catch (SQLException e) {
            e.printStackTrace();
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        }
 
    }
 
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文