JDBC注册驱动程序3种方式

2019-10-08 09:27:34来源:博客园 阅读 ()

新老客户大回馈,云服务器低至5折

JDBC注册驱动程序3种方式

以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的实例是多余无用的

如下图所示:


原文链接:https://www.cnblogs.com/thaipine/p/11634772.html
如有疑问请与原作者联系

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:当单例模式遇到序列化会出现什么问题

下一篇:SpringBoot进阶教程(六十二)整合Kafka