Exception in thread “main”com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:连接数据库失败问题的解决(JDBC)

目录

 1.问题分析

2.解决方式

1.查看自己的Mysql版本

2.根据Mysql版本下载对应的驱动jar包

1.打开Mysql官网

2. 寻找对应版本的驱动jar包

3.其他问题

4.测试代码


 1.问题分析

有人发现自己连接数据库以及SQL语句编写正确,JDBC的驱动jar包也正常导入了。但是还是出现下面报错

出现上述报错,是你的数据库版本和导入的驱动jar包不一致导致的


2.解决方式

就用我的Mysql数据库举例

1.查看自己的Mysql版本

步骤:win+R后输入cmd打开命令提示符,输入mysql   -V

2.根据Mysql版本下载对应的驱动jar包

1.打开Mysql官网

官网:MySQLicon-default.png?t=N7T8https://www.mysql.com/

2. 寻找对应版本的驱动jar包

正常导入就可以成功了,但是可能会出现以下情况


3.其他问题

文字:Loading class `com.mysql.jdbc.Driver'. This is deprecated. The new driver class is `com.mysql.cj.jdbc.Driver'. The driver is automatically registered via the SPI and manual loading of the driver class is generally unnecessary.

翻译:正在加载类com.mysql.jdbc驱动程序,这是不推荐的。新的驱动程序类是com.mysql.cj.jdbc驱动程序。驱动程序通过SPI自动注册,通常不需要手动加载驱动程序类。

其实没有什么很大问题,程序依然可以运行。解决也简单,根据提示更新一下驱动

 Class.forName("com.mysql.cj.jdbc.Driver");

4.测试代码

package JDBC;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;

public class JDBCDemo {
    public static void main(String[] args) throws Exception {
          //1.注册驱动
        Class.forName("com.mysql.cj.jdbc.Driver");
        //2.获取连接  其中db01是自己的数据库,可能不一样。
        String url = "jdbc:mysql://127.0.0.1:3306/db01";
        //Mysql数据库用户名,可能不一样
        String username = "root";
        //Mysql数据库密码,可能不一样
        String password = "123456";
        Connection conn = DriverManager.getConnection(url,username,password);
        //3.定义sql
        String sql = "update user set  password = 666666 where id = 1";
        //4.获取执行sql的对象Statement
        Statement stmt = conn.createStatement();
        //5.执行sql
        int count = stmt.executeUpdate(sql);
        //6.处理结果
        System.out.println(count);
        //7.释放资源
        stmt.close();
        conn.close();
    }
}

  • 10
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
nested exception is com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure是一个嵌套异常,表示与MySQL服务器的通信链接失败。 这个异常通常是由于以下原因之一导致的: 1. 网络连接问题:可能是由于网络不稳定或防火墙设置问题导致的通信链接失败。 2. MySQL服务器未运行:确保MySQL服务器正在运行,并且可以通过给定的主机名或IP地址进行访问。 3. 错误的连接配置:请检查连接配置,包括主机名、端口、用户名和密码是否正确。 4. 连接超时:如果连接超时设置过小,可能会导致链接失败。可以尝试增加连接超时时间来解决问题解决这个问题的方法包括: 1. 检查网络连接:确保你的网络连接正常,可以访问到MySQL服务器。 2. 检查MySQL服务器状态:确认MySQL服务器正在运行,并且可以通过给定的主机名或IP地址进行访问。 3. 检查连接配置:确保连接配置中的主机名、端口、用户名和密码等信息正确无误。 4. 增加连接超时时间:如果连接超时设置过小,可以尝试增加连接超时时间。 综上所述,nested exception is com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure表示与MySQL服务器的通信链接失败解决方法包括检查网络连接、确认MySQL服务器状态、检查连接配置和增加连接超时时间等。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [数据库 异常:com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException](https://blog.csdn.net/Greahow/article/details/99336892)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* [java解决nested exception is java.lang.OutOfMemoryError Java heap space](https://download.csdn.net/download/lj_70596/14122361)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值