获取数据库连接的方式二

这种获取数据库连接的方式二是对方式一的一种迭代
  • 那么我们为什么要迭代?

    • 因为我们JDBC是面向接口编程的,为了有更好的可移植性,我们不希望在程序中出现任何第三方相关的API

      • 我们在方式一中的new com.mysql.jdbc.Driver就是涉及到了第三方的API,我们为了程序有更好的可移植性,这个时候最好就是不要导入任何的第三方API

      • 因为我们不希望出现第三方相关的API,所以我们就要用到反射,使用反射来创建Driver接口的实现类的对象

        • 我们使用反射的方式可以实现通用编程(尤其是使用forName()方式还可以实现准动态编程)
具体代码如下:
package jdbc.获取数据库连接的方式二;

import java.sql.Driver;
import java.sql.Connection;
import java.sql.SQLException;
import java.util.Properties;

public class Demo {
    public static void main(String[] args) throws ClassNotFoundException, IllegalAccessException, InstantiationException, SQLException {
        //1. 获取java.sql.Driver接口的实现类的对象(这里为了可以实现通用的编程,有更好的可移植性,我们使用反射的方式来创建)
        Class clazz = Class.forName("com.mysql.cj.jdbc.Driver");
        Driver driver = (Driver)clazz.newInstance();
        
        //2. 提供要连接的数据库
        String url = "jdbc:mysql://localhost:3306/test?serverTimezone=Asia/Shanghai";
        
        //3. 提供连接数据库所需要的基本信息(用户名和密码)
        Properties info = new Properties();
        info.setProperty("user","root");
        info.setProperty("password","mysql");
        
        //4. 获取连接
        Connection conn = driver.connect(url,info);
    }
}
  • 这个时候上面的程序中就没有出现第三方的API,使得程序就会有更好的可移植性
    • 第三方API : Java官方提供的API之外的API都称之为第三方API
Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐