JDBC注册驱动程序3种方式
程序员文章站
2022-03-25 21:40:57
以MySQL的驱动为例,介绍注册驱动程序的3种方式 1:Class.forName("com.mysql.cj.jdbc.Driver");// 加载数据库驱动 2:System.setProperty("jdbc.drivers","com.mysql.cj.jdbc.Driver");// 加载 ......
以mysql的驱动为例,介绍注册驱动程序的3种方式
1:class.forname("com.mysql.cj.jdbc.driver");// 加载数据库驱动
1 package com.pine.interview.jdbc; 2 3 import java.sql.connection; 4 import java.sql.drivermanager; 5 import java.sql.sqlexception; 6 7 public class driver1 { 8 public static void main(string[] args) throws classnotfoundexception, sqlexception { 9 class.forname("com.mysql.cj.jdbc.driver");// 加载数据库驱动 10 string url = "jdbc:mysql://localhost:3306/pine?servertimezone=utc";// 数据库连接子协议 11 connection conn = drivermanager.getconnection(url, "root", "root"); 12 system.out.println(conn); 13 conn.close(); 14 } 15 }
2:system.setproperty("jdbc.drivers","com.mysql.cj.jdbc.driver");// 加载数据库驱动
1 package com.pine.interview.jdbc; 2 3 import java.sql.connection; 4 import java.sql.drivermanager; 5 import java.sql.sqlexception; 6 7 public class driver2 { 8 public static void main(string[] args) throws classnotfoundexception, sqlexception { 9 system.setproperty("jdbc.drivers","com.mysql.cj.jdbc.driver");// 加载数据库驱动 10 string url = "jdbc:mysql://localhost:3306/pine?servertimezone=utc";// 数据库连接子协议 11 connection conn = drivermanager.getconnection(url, "root", "root"); 12 system.out.println(conn); 13 conn.close(); 14 /** 15 * 可以同时导入多个jdbc驱动,中间用冒号“:”分开 16 比如system.setproperty("jdbc.drivers","xxxdriver:xxxdriver:xxxdriver"); 17 */ 18 } 19 }
3:new com.mysql.cj.jdbc.driver();// 加载数据库驱动
1 package com.pine.interview.jdbc; 2 3 import java.sql.connection; 4 import java.sql.drivermanager; 5 import java.sql.sqlexception; 6 7 public class driver3 { 8 public static void main(string[] args) throws sqlexception { 9 new com.mysql.cj.jdbc.driver();// 加载数据库驱动 10 string url = "jdbc:mysql://localhost:3306/pine?servertimezone=utc";// 数据库连接子协议 11 connection conn = drivermanager.getconnection(url, "root", "root"); 12 system.out.println(conn); 13 conn.close(); 14 } 15 }
推荐使用方法1、方法2,其中方法2可以一次性注册多个驱动
不推荐使用方法3,因为编译时会依赖mysql的驱动包,而且静态代码块中会进行驱动的注册,new 出来的 driver的实例是多余无用的
如下图所示: