java.sql.SQLNonTransientConnectionException: Could not create connection to database server

**使用JdbcTemplate连接数据库时发生错误:**java.sql.SQLNonTransientConnectionException: Could not create connection to

💥报错有这么长
在这里插入图片描述
💘💘一脸懵逼之一脸懵逼

🌟诶,两血健康,一血不慌,咋一个一个报错的看

报错中很明显地提示,是数据库连接的问题

网上能找到的可能导致数据库连接错误的原因:
1.数据库链接地址、账户、密码错误
2.MySQL服务运行不正常
3.数据库版本和MySQL驱动版本不一致

接下来就按照可能错误原因一个个排查喽!

问题排查:

第一个:
比对了很久没问题,Bingo

第二个:
搜索框中输入“服务”,打开应用进行查看
在这里插入图片描述
我的网络服务MySQL80运行正常(我也不太清楚MySQL为啥有两个服务,本地系统和网络服务的区别我搞了好久也没整明白,希望有大佬指点)

第三个:
检查了下我本地MySQL是8.0的,用的驱动是5.0的,存在版本不匹配的问题,下了个对应的驱动包替代
下载链接:
链接:https://pan.baidu.com/s/1yZt6-6eFcFyucWIUPx5SxQ
提取码:e18w

但是问题并没有解决,再进一步搜索,可能是因为配置mysql时,没有指定MySQL版本,采用默认的版本,默认的版本过高,本地版本低,导致发生了冲突

配置MySQL版本的方法,打开pom.xml文件(只有用Maven创建的工程才会有这个文件,直接创建的工程是没有的),在pom.xml文件中添加依赖

        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.23</version>
        </dependency>

添加依赖后如果发现爆红,则需要先在Maven中点击clean,删除之前编译过的文件
在这里插入图片描述
再选中项目右键 ——> maven ——> Reimport

再遇问题:
当你发现这样还是不行的时候,你心态就崩了(这就是我今天下午遇到的情况)

那该怎么办呢,毫无目的地摸索着,突然想到了是不是可能是数据源错误,说干就干,把dbcp的数据源换成德鲁伊的,诶,问题就解决了

附上我数据源的配置

    <!-- 数据库连接池 -->
    <!--<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">-->
    <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource">
        <property name="url" value="jdbc:mysql://localhost:3306/user_db" />
        <property name="username" value="root" />
        <property name="password" value="123" />
        <property name="driverClassName" value="com.mysql.cj.jdbc.Driver" />
    </bean>

可是这样为啥换个数据源就好了呢,找了许久,网上没有太多的相关资料,我也挺迷惑的

本文暂且记录一下使用JdbcTemplate时遇到的问题,仍有许多不合理之处,望请斧正

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
报错"java.sql.SQLNonTransientConnectionException: Could not create connection to database server."表示在连接数据库时无法创建连接。常见的解决方法是检查以下几个方面: 1. 检查数据库服务器是否正常运行,并且确保数据库服务可用。 2. 检查数据库连接配置信息是否正确。包括数据库的URL、用户名和密码等。可以根据具体的数据库类型和驱动程序进行相应的配置。 3. 检查网络连接是否正常。确保可以访问到数据库服务器。 4. 检查数据库驱动程序是否正确安装和配置。确保使用的驱动程序与数据库版本兼容。 5. 检查数据库连接池配置。如果使用连接池管理连接,可以检查连接池的配置参数是否正确。 另外,还可以尝试以下方法来解决该问题: 1. 检查数据库连接超时时间。如果连接超时时间设置得过短,可以尝试增加连接超时时间。 2. 检查数据库连接数限制。如果数据库连接数被限制,可以尝试增加连接数限制。 3. 检查数据库连接的并发性。如果存在多个并发连接请求,可以尝试调整并发连接数或增加数据库服务器的处理能力。 总之,报错"java.sql.SQLNonTransientConnectionException: Could not create connection to database server."通常是由于数据库连接的配置问题或数据库服务器不可用所导致。需要仔细检查相关配置和确保数据库服务器正常运行。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [项目报错:java.sql.SQLNonTransientConnectionException:Could not create connection to database server...](https://blog.csdn.net/qq_44872509/article/details/130194273)[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_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [[已解决] Could not create connection to database server.](https://blog.csdn.net/qq_41525021/article/details/93048277)[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_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值