java.sql.SQLNonTransientConnectionException: Could not create connection to database server
**使用JdbcTemplate连接数据库时发生错误:**java.sql.SQLNonTransientConnectionException: Could not create connection to????报错有这么长????????一脸懵逼之一脸懵逼????诶,两血健康,一血不慌,咋一个一个报错的看报错中很明显地提示,是数据库连接的问题网上能找到的可能导致数据库连接错误的原因:1.数据
**使用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时遇到的问题,仍有许多不合理之处,望请斧正
更多推荐
所有评论(0)