JDBC数据库驱动的下载、安装与连接

2023-11-01

1、常用的数据库驱动下载

使用JDBC操作数据库,需要使用数据库厂商提供的驱动程序,通过驱动程序可以与数据库进行交互。

1.1 常用的数据库厂商驱动下载地址

1.1.1 MySQL数据库

https://dev.mysql.com/downloads/connector/

1.1.2 Oracle数据库

https://www.oracle.com/technetwork/database/application-development/jdbc/downloads/index.html

1.1.3 SQL Server 数据库

https://docs.microsoft.com/zh-cn/sql/connect/jdbc/download-microsoft-jdbc-driver-for-sql-server?view=sql-server-2017

1.1.4 PostgreSQL数据库

https://jdbc.postgresql.org/download.html

 

1.2 下载MySQL数据库驱动

进入下载地址:https://dev.mysql.com/downloads/connector/j/

选择:Platform Independent

TAR包是Linux操作系统下的,ZIP包是Windows操作系统下的,这里我们选择ZIP包。

 

2、安装JDBC驱动

2.1 Eclipse安装JDBC驱动

示例:在Eclipse下的安装MySQL驱动。

(1)将下载后的MySQL驱动解压,得到:mysql-connector-java-8.0.14.jar驱动文件。

(2)在Java项目中创建lib文件夹,并将驱动文件放入该文件夹中。

(3)点击选中驱动文件 → 鼠标右键  → 构建路径  → 添加至构建路径。

英文版的Eclipse:点击选择驱动文件 → 鼠标右键  → Build Path  → Add to Build Path。

2.2 Intellij IDEA安装JDBC驱动

示例:在Intellij IDEA下的安装MySQL驱动。

(1)菜单选择:File → Project Stucture(快捷键:Ctrl+Alt+Shift+S)

(2)打开Project Stucture项目结构窗体后,选择:Modules → Dependencies → <Module source> → 点击右边的“+”加符号 → JARs or directories(如下图)。

(3)然后选择JDBC驱动文件:mysql-connector-java-8.0.14.jar。

(4)最后点击“OK”即可,在项目的External Libraries下就能看的加载的JDBC驱动(如下图)。

 2.3 使用Maven添加JDBC依赖

在pom.xml配置文件中,添加如下依赖:

<!-- MySQL的JDBC数据库驱动 -->
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>8.0.19</version>
</dependency>

 

3、JDBC连接各种数据库的连接语句

3.1 MySQL数据库

driverClass:com.mysql.jdbc.Driver 或者 com.mysql.cj.jdbc.Driver

url:jdbc:mysql://localhost:3306/mydb

说明:

com.mysql.jdbc.Driver驱动是mysql-connector-java 5中的

com.mysql.cj.jdbc.Driver驱动是mysql-connector-java 6以上版本的

有的时候,mysql的驱动类也会看到使用org.gjt.mm.mysql.Driver的情况,org.gjt.mm.mysql.Driver是早期的驱动名称,后来就改名为com.mysql.jdbc.Driver,现在一般都推荐使用 com.mysql.jdbc.Driver。在最新版本的mysql jdbc驱动中,为了保持对老版本的兼容,仍然保留了org.gjt.mm.mysql.Driver,但是实际上 org.gjt.mm.mysql.Driver中调用了com.mysql.jdbc.Driver,因此现在这两个驱动没有什么区别。

3.2 Oracle数据库

driverClass:oracle.jdbc.driver.OracleDriver

url:jdbc:oracle:thin:@127.0.0.1:1521:dbname

3.3 DB2数据库

driverClass:com.ibm.db2.jcc.DB2Driver

url:jdbc:db2://127.0.0.1:50000/dbname

3.4 sybase数据库

driverClass:com.sybase.jdbc.SybDriver

url:jdbc:sybase:Tds:localhost:5007/dbname

3.5 PostgreSQL数据库

driverClass:org.postgresql.Driver

url:jdbc:postgresql://localhost/dbname

3.6 Sql Server2000数据库

driverClass:com.microsoft.jdbc.sqlserver.SQLServerDriver

url:jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=dbname

3.7 Sql Server2005数据库

driverClass:com.microsoft.sqlserver.jdbc.SQLServerDriver

url:jdbc:sqlserver://localhost:1433; DatabaseName=dbname

说明:

SQL Server2000和2005的驱动是有区别的,使用错误的时候,会出现下面这个错误。java.sql.SQLException: [Microsoft][SQLServer JDBC Driver]

 

4、连接数据库

示例:使用JDBC连接MySQL数据库。

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

/**
 * 使用JDBC连接MySQL数据库
 * 
 * @author pan_junbiao
 */
public class ConnTest
{
	public static void main(String[] args)
	{
		try
		{
			// 加载数据库驱动类
			Class.forName("com.mysql.cj.jdbc.Driver");
			System.out.println("数据库驱动加载成功");

			// 获取数据库连接对象
			Connection conn = DriverManager.getConnection(
					"jdbc:mysql://localhost:3306/db_admin?serverTimezone=Hongkong&useUnicode=true&characterEncoding=utf8&useSSL=false",
					"root", "123456");
			System.out.println("数据库连接成功");

		} catch (ClassNotFoundException cnfe)
		{
			cnfe.printStackTrace();
		} catch (SQLException sqle)
		{
			sqle.printStackTrace();
		}
	}
}

执行结果:

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

JDBC数据库驱动的下载、安装与连接 的相关文章

  • Java new Date() 打印

    刚刚学习 Java 我知道这可能听起来很愚蠢 但我不得不问 System out print new Date 我知道参数中的任何内容都会转换为字符串 最终值是 new Date 返回对 Date 对象的引用 那么它是如何打印这个的呢 Mo
  • Spring Batch 多线程 - 如何使每个线程读取唯一的记录?

    这个问题在很多论坛上都被问过很多次了 但我没有看到适合我的答案 我正在尝试在我的 Spring Batch 实现中实现多线程步骤 有一个包含 100k 条记录的临时表 想要在 10 个线程中处理它 每个线程的提交间隔为 300 因此在任何时
  • 如何在 Play java 中创建数据库线程池并使用该池进行数据库查询

    我目前正在使用 play java 并使用默认线程池进行数据库查询 但了解使用数据库线程池进行数据库查询可以使我的系统更加高效 目前我的代码是 import play libs Akka import scala concurrent Ex
  • 如何找到给定字符串的最长重复子串

    我是java新手 我被分配寻找字符串的最长子字符串 我在网上研究 似乎解决这个问题的好方法是实现后缀树 请告诉我如何做到这一点或者您是否有任何其他解决方案 请记住 这应该是在 Java 知识水平较低的情况下完成的 提前致谢 附 测试仪字符串
  • Android:捕获的图像未显示在图库中(媒体扫描仪意图不起作用)

    我遇到以下问题 我正在开发一个应用程序 用户可以在其中拍照 附加到帖子中 并将图片保存到外部存储中 我希望这张照片也显示在图片库中 并且我正在使用媒体扫描仪意图 但它似乎不起作用 我在编写代码时遵循官方的Android开发人员指南 所以我不
  • Android MediaExtractor seek() 对 MP3 音频文件的准确性

    我在使用 Android 时无法在eek 上获得合理的准确度MediaExtractor 对于某些文件 例如this one http www archive org download emma solo librivox emma 01
  • 反射找不到对象子类型

    我试图通过使用反射来获取包中的所有类 当我使用具体类的代码 本例中为 A 时 它可以工作并打印子类信息 B 扩展 A 因此它打印 B 信息 但是当我将它与对象类一起使用时 它不起作用 我该如何修复它 这段代码的工作原理 Reflection
  • 操作错误不会显示在 JSP 上

    我尝试在 Action 类中添加操作错误并将其打印在 JSP 页面上 当发生异常时 它将进入 catch 块并在控制台中打印 插入异常时出错 请联系管理员 在 catch 块中 我添加了它addActionError 我尝试在jsp页面中打
  • 我可以使用 HSQLDB 进行 junit 测试克隆 mySQL 数据库吗

    我正在开发一个 spring webflow 项目 我想我可以使用 HSQLDB 而不是 mysql 进行 junit 测试吗 如何将我的 mysql 数据库克隆到 HSQLDB 如果您使用 spring 3 1 或更高版本 您可以使用 s
  • Mockito when().thenReturn 不必要地调用该方法

    我正在研究继承的代码 我编写了一个应该捕获 NullPointerException 的测试 因为它试图从 null 对象调用方法 Test expected NullPointerException class public void c
  • Spring @RequestMapping 带有可选参数

    我的控制器在请求映射中存在可选参数的问题 请查看下面的控制器 GetMapping produces MediaType APPLICATION JSON VALUE public ResponseEntity
  • 无法解析插件 Java Spring

    我正在使用 IntelliJ IDEA 并且我尝试通过 maven 安装依赖项 但它给了我这些错误 Cannot resolve plugin org apache maven plugins maven clean plugin 3 0
  • 十进制到八进制的转换[重复]

    这个问题在这里已经有答案了 可能的重复 十进制转换错误 https stackoverflow com questions 13142977 decimal conversion error 我正在为一个类编写一个程序 并且在计算如何将八进
  • 禁止的软件包名称:java

    我尝试从数据库名称为 jaane 用户名 Hello 和密码 hello 获取数据 错误 java lang SecurityException Prohibited package name java at java lang Class
  • 从 127.0.0.1 到 2130706433,然后再返回

    使用标准 Java 库 从 IPV4 地址的点分字符串表示形式获取的最快方法是什么 127 0 0 1 到等效的整数表示 2130706433 相应地 反转所述操作的最快方法是什么 从整数开始2130706433到字符串表示形式 127 0
  • 使用Caliper时如何指定命令行?

    我发现 Google 的微型基准测试项目 Caliper 非常有趣 但文档仍然 除了一些示例 完全不存在 我有两种不同的情况 需要影响 JVM Caliper 启动的命令行 我需要设置一些固定 最好在几个固定值之间交替 D 参数 我需要指定
  • 总是使用 Final?

    我读过 将某些东西做成最终的 然后在循环中使用它会带来更好的性能 但这对一切都有好处吗 我有很多地方没有循环 但我将 Final 添加到局部变量中 它会使速度变慢还是仍然很好 还有一些地方我有一个全局变量final 例如android Pa
  • Eclipse Java 远程调试器通过 VPN 速度极慢

    我有时被迫离开办公室工作 这意味着我需要通过 VPN 进入我的实验室 我注意到在这种情况下使用 Eclipse 进行远程调试速度非常慢 速度慢到调试器需要 5 7 分钟才能连接到远程 jvm 连接后 每次单步执行断点 行可能需要 20 30
  • 如何从泛型类调用静态方法?

    我有一个包含静态创建方法的类 public class TestClass public static
  • 静态变量的线程安全

    class ABC implements Runnable private static int a private static int b public void run 我有一个如上所述的 Java 类 我有这个类的多个线程 在里面r

随机推荐

  • 多态+多态对象模型

    多态 字面意思即为多种形态 C 多态性是通过虚函数来实现的 虚函数允许子类重新定义成员函数 而子类重新定义父类的做法称为覆盖或者称为重写 当使用基类的指针或引用调用重写的虚函数时 当指向父类调用的就是父类的虚函数 指向子类的就是子类的虚函数
  • 专题详解-5G接入控制:CAG新特性(3)-end

    相关文章会在公众号同步更新 公众号 5G通信大家学 持续更新的相关5G内容都是直接根据3GPP整理 保证更新内容的准确性 避免通过二手 甚至多手的资料 以讹传讹误导网友 稀稀拉拉经过这么长时间的分析 5G网络的接入控制基本算是分析完了 目前
  • 为什么使用GB28181而不是直接rtsp拉流

    1 GB sip和rtsp 实际上 sip协议和rtsp协议大同小异 并没有什么本质上得不同 那为什么我们不使用rtsp 而转而使用GB28181国标得sip协议 原因是 使用得方向不同 我们使用rtsp拉流是作为客户端 这时摄像机是服务端
  • 【问题解决】partially initialized module ‘cv2‘ has no attribute

    使用 MMOCR 时报错 partially initialized module cv2 has no attribute 可能是 opencv 的版本问题 也可能是 opencv 和当前环境不能完全匹配的问题 可以使用下面的方法重新安装
  • 分享一个 ChatGPT可免费使用的AI助手

    现在 多种行业都已经开始广泛地采用聊天机器人ChatGPT 有一个与之相关的国内免费网站可以供大家使用 多御浏览器 这是一款安全快速 高效稳定的浏览器 该网站客户端软件中 有很多实用工具 其中之一就是当下非常流行的 ChatGPT 这对于开
  • python 更换pip安装源

    pip源 默认从国外源安装 安装速度比较慢 现在我们指定国内源安装源 阿里源 豆瓣源 Ubuntu源 1 指令配置源 pip3 install xlrd i https pypi tuna tsinghua edu cn simple 2
  • Qt - QSetting的使用

    欢迎转载 请注明出处 https blog csdn net qq 39453936 spm 1010 2135 3001 5343 原文链接 https blog csdn net qq 39453936 article details
  • Allegro快捷键

    env文件替换路径C Cadence SPB 16 6 share pcb text
  • mac启动pg数据库失败 “Is another postmaster (PID 370) running in data directory“

    解决办法 进入目录 usr local var postgres 删除文件 postmaster pid 启动pg命令 pg ctl D usr local var postgres l usr local var postgres ser
  • 挖矿病毒的特点

    挖矿病毒的特点 1 文件 定时任务删除失败 文件只读属性保护 2 文件 定时任务删完又出现 系统文件替换 下载进程残留 3 病毒进程刚刚删完又被拉起 恶意进程守护 4 主机严重卡顿但找不到挖矿进程 系统命令劫持 5 主机杀干净后一段时间又出
  • 【云原生之kubernetes】在kubernetes集群下的映射外部服务—Eendpoint

    云原生之kubernetes 在kubernetes集群下的映射外部服务 Eendpoint 一 Eendpoint介绍 1 endpoint简介 2 endpoint的使用 二 检查本地k8s状态 1 检查工作节点状态 2 检查系统pod
  • Modelsim、Matlab在远程桌面下打开的异常及处理

    此方法可以解决远程桌面下启动MATLAB时的License Manager Error 103错误 也能够解决远程桌面下启动modelsim的错误 方法如下 1 打开C Program Files MATLAB R2015b license
  • kafka基础介绍

    目录 前言 一 kafka架构 1 kafka基础架构 2 kafka多副本架构 二 kafka基础概念 1 produce 2 Consumer 3 Broker 4 Topic 5 Partition 6 Replicas 7 Offs
  • C++数据结构X篇_12_树的基本概念和存储

    学习二叉树之前先学习树的概念 文章目录 1 树的基本概念 1 1 树的定义 1 2 树的特点 1 3 若干术语 2 树的表示法 2 1 图形表示法 2 2 广义表表示法 3 树的存储 3 1 双亲表示法 保存父节点关系 3 2 孩子表示法
  • 伴随矩阵的特征值和特征向量

    结 论 伴 随 矩 阵 的 特
  • winsock

    今天上午学习了 winsock的使用的过程 现将学习的收获总结如下 Winsock的属性 1 Localport 设定本机的端口号 端口号从0 65536 其中1024一下一般为专用的端口 如21为ftp默认端口 80为http默认端口 2
  • 关于对CSDN这些技术博客类网站的一些个人看法

    今天这篇文章其实是自己的一个分享与感悟 分享一下自己从技术小白到有点小实力的这个过程中对自己帮助的一些技术博客类网站的看法 关于我为什么会想写这么一篇文章呢 起因是我有一次查CSDN网站时候 看到了一篇文章 第一眼看到这篇文章的时候我觉得首
  • Java多线程 - - -线程安全问题

    Java 多线程学习笔记 二 线程安全问题的出现 当一个进程中的多个线程共享资源或数据的时候 就会出现安全隐患 例如 三个售票窗口同时售票 如果没有进行线程安全的处理 则会出现重票 错票等线程安全问题 package com fff 实现R
  • Modbus协议介绍

    Modbus协议介绍 简介 Modbus是一种串行通信协议 是Modicon公司 现在的施耐德电气Schneider Electric 于 1979年为使用可编程逻辑控制器 PLC 通信而发表 Modbus 已经成为工业领域通信协议的业界标
  • JDBC数据库驱动的下载、安装与连接

    1 常用的数据库驱动下载 使用JDBC操作数据库 需要使用数据库厂商提供的驱动程序 通过驱动程序可以与数据库进行交互 1 1 常用的数据库厂商驱动下载地址 1 1 1 MySQL数据库 https dev mysql com downloa