欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

JDBC注册驱动程序3种方式

程序员文章站 2022-07-02 12:46:37
以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的实例是多余无用的

如下图所示:

JDBC注册驱动程序3种方式