获取数据库连接 [Java][JDBC]
获取数据库连接的方式二这种获取数据库连接的方式二是对方式一的一种迭代那么我们为什么要迭代?因为我们JDBC是面向接口编程的,为了有更好的可移植性,我们不希望在程序中出现任何第三方相关的API我们在方式一中的new com.mysql.jdbc.Driver就是涉及到了第三方的API,我们为了程序有更好的可移植性,这个时候最好就是不要导入任何的第三方API因为我们不希望出现第三方相关的API,所以我
·
获取数据库连接的方式二
这种获取数据库连接的方式二是对方式一的一种迭代
-
那么我们为什么要迭代?
-
因为我们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
更多推荐
所有评论(0)