以MySQL的驱动为例,介绍注册驱动程序的3种方式
1:Class.forName("com.mysql.cj.jdbc.Driver");// 加载数据库驱动
package com.pine.interview.jdbc;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class Driver1 {
public static void main(String[] args) throws ClassNotFoundException, SQLException {
Class.forName("com.mysql.cj.jdbc.Driver");// 加载数据库驱动
String url = "jdbc:mysql://localhost:3306/pine?serverTimezone=UTC";// 数据库连接子协议
Connection conn = DriverManager.getConnection(url, "root", "root");
System.out.println(conn);
conn.close();
}
}
2:System.setProperty("jdbc.drivers","com.mysql.cj.jdbc.Driver");// 加载数据库驱动
package com.pine.interview.jdbc;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class Driver2 {
public static void main(String[] args) throws ClassNotFoundException, SQLException {
System.setProperty("jdbc.drivers","com.mysql.cj.jdbc.Driver");// 加载数据库驱动
String url = "jdbc:mysql://localhost:3306/pine?serverTimezone=UTC";// 数据库连接子协议
Connection conn = DriverManager.getConnection(url, "root", "root");
System.out.println(conn);
conn.close();
/**
* 可以同时导入多个jdbc驱动,中间用冒号“:”分开
比如System.setProperty("jdbc.drivers","XXXDriver:XXXDriver:XXXDriver");
*/
}
}
3:new com.mysql.cj.jdbc.Driver();// 加载数据库驱动
package com.pine.interview.jdbc;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class Driver3 {
public static void main(String[] args) throws SQLException {
new com.mysql.cj.jdbc.Driver();// 加载数据库驱动
String url = "jdbc:mysql://localhost:3306/pine?serverTimezone=UTC";// 数据库连接子协议
Connection conn = DriverManager.getConnection(url, "root", "root");
System.out.println(conn);
conn.close();
}
}
推荐使用方法1、方法2,其中方法2可以一次性注册多个驱动
不推荐使用方法3,因为编译时会依赖mysql的驱动包,而且静态代码块中会进行驱动的注册,new 出来的 Driver的实例是多余无用的
如下图所示:
相关推荐
0评论