JDBC注册驱动程序3种方式
以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的实例是多余无用的
如下图所示:

JDBC注册驱动程序3种方式的更多相关文章
- JDBC注册驱动程序的三种方式
1. Class.forName("com.mysql.jdbc.Driver");//加载数据库驱动 Class.forName("com.mysql.jdbc.Dri ...
- JDBC连接数据库的四种方式:DriverManager,DataSource,DBCP,C3P0
方法1:使用java.sql.DriverManager类 驱动管理器类,用于管理所有注册的驱动程序. (注:DataSource 接口是 JDBC 2.0 API 中的新增内容,它提供了连接到数据源 ...
- Java通过JDBC连接数据库的三种方式!!!并对数据库实现增删改查
前言 java连接数据库完整流程为: 1,获得驱动(driver),数据库连接(url),用户名(username),密码(password)基本信息的三种方式. 2,通过获得的信息完成JDBC实现连 ...
- JDBC基础篇(MYSQL)——通过JDBC连接数据库的三种方式
package day01_jdbc; import java.sql.Connection; import java.sql.Driver; import java.sql.DriverManage ...
- spring boot集成 servlet自动注册的两种方式
有两种方式:(两种方式同时存在时,@Bean优先@ServletComponentScan实例化,生成两个对象) 1)通过@ServletComponentScan类注解 扫描 带有@WebServl ...
- 注册jdbc驱动的三种方式
java.sql.DriverManger类简介 java的驱动管理类.管理一组 JDBC 驱动程序. javax.sql.DataSource 接口是 JDBC 2.0 API 中的新增内容,它 ...
- Oracle的JDBC Url的几种方式
1.普通SID方式jdbc:oracle:thin:username/password@x.x.x.1:1521:SID2.普通ServerName方式 jdbc:Oracle:thin:userna ...
- laravel扩展包服务提供者的注册的两种方式
一. 包自动发现 在 Laravel 应用的配置文件 config/app.php 中,providers 配置项定义了一个会被 Laravel 加载的服务提供者列表.当安装完新的扩展包后,在老版本中 ...
- JDBC的批处理操作三种方式 pstmt.addBatch()
package lavasoft.jdbctest; import lavasoft.common.DBToolkit; import java.sql.Connection; import java ...
随机推荐
- PDFium-PDF开源之旅
1.安装python 2.7 https://blog.csdn.net/lzfly/article/details/27077487 https://www.jianshu.com/p/8bb348 ...
- 几个python编程例子
作业 有如下值集合[11,22,33,44,55,66,77,88,99,90...],将所有大于 66 的值保存至字典的第一个key中,将小于 66 的值保存至第二个key的值中,结果为{'k1': ...
- nginx源码安装与使用
[root@localhost ~]# yum -y install pcre-devel zlib-devel openssl openssl-devel gcc* [root@localhost ...
- csp 201809-2 买菜
两人在一段时间买菜装车,装车时会聊天,求聊天的时长. 使用数组记录,求重叠部分即可 代码: #include<iostream> #include<string> #inclu ...
- python27期day07:基础数据类型补充、循环删除的坑、二次编码、作业题。
1.求最大位数bit_length: a = 10 #8421 1010print(a.bit_length())结果:42.capitalize首字母变大写: s = "alex" ...
- VIJOS-P1064 迎春舞会之数字舞蹈
洛谷 P1538 迎春舞会之数字舞蹈 洛谷传送门 JDOJ 1245: VIJOS-P1064 迎春舞会之数字舞蹈 JDOJ传送门 Description 在越来越讲究合作的时代,人们注意的更多的 ...
- springboot2.1+redis多数据源的配置
springboot系列学习笔记全部文章请移步值博主专栏**: spring boot 2.X/spring cloud Greenwich. 由于是一系列文章,所以后面的文章可能会使用到前面文 ...
- Taro/JS/H5/小程序:纯前端解决小程序微信支付统一下单和调起支付
这个文章不会说具体0到1的代码流程,我会着重讲几个问题的解决 准备以下依赖 "md5": "^2.2.1", "xml-js": " ...
- 配置Hive 支持 JSON 存储
1.说明 hive默认使用分隔符如空格,分号,"|",制表符\t来格式化数据记录,对于复杂数据类型如json,nginx日志等,就没有办法拆分了,这时候需要更加强大的SerDe来处 ...
- Linux性能优化实战学习笔记:第三十七讲
一.上节回顾 上一节,我带你一起学习了网络性能的评估方法.简单回顾一下,Linux 网络基于 TCP/IP协议栈构建,而在协议栈的不同层,我们所关注的网络性能也不尽相同. 在应用层,我们关注的是应用程 ...