IntelliJ IDEA Springboot 连接数据库失败(错误提示POST url 500)

用IDEA使用Springboot 连接数据库失败的解决方案

此次项目使用Maven搭建Springboot集成的SSM框架(Spring+SpringMVC+Mybatis)
使用的数据库为Mysql。

发现问题

实现登录功能时核对验证码正确后,用户输入用户名和密码与数据库核对时无反应。
在这里插入图片描述
打开谷歌浏览器控制台,发现Unchecked runtime.错误和POST url 500 错误

分析问题

先解决Unchecked runtime错误。谷歌浏览器打开chrome://extensions/关闭扩展插件即可。
在这里插入图片描述
重新测试登录功能Unchecked runtime错误解决,POST url 500 错误 仍在。
在这里插入图片描述
查看IDEA Console报错消息
在这里插入图片描述
不能建立JDBC连接,无法加载’caching_sha2_password’
mysql 8.0 默认使用 caching_sha2_password 身份验证机制 —— 从原来的 mysql_native_password 更改为 caching_sha2_password。
从 5.7 升级 8.0 版本的不会改变现有用户的身份验证方法,但新用户会默认使用新的 caching_sha2_password 。

我的mysql版本是8.0.15。如何查询mysql版本:
如有MySQLWorkbench 菜单栏选择About MySQL Workbench
在这里插入图片描述
命令行也能查

mysql -uroot -p

在这里插入图片描述
而pom.xml的Mysql连接驱动的版本是5.1.39:
在这里插入图片描述
在这里插入图片描述
故问题原因是因为配置文件中MySQL连接驱动与本机MySQL版本不一致导致连接失败。

解决方案

将版本< version >修改为本机mysql版本:
在这里插入图片描述
之后maven自动添加依赖(保持网络畅通),如没有自动添加,则右键pom.xml–>maven–>Reimport
在这里插入图片描述
检查项目结构里是否成功添加新版本的包:
File–>Project Structure–>Libraries
在这里插入图片描述
成功添加!

最终结果

测试

输入正确用户名密码后返回登录成功!
在这里插入图片描述
但是IDEA Console里有红字:
在这里插入图片描述
检查JDBC驱动类:
在这里插入图片描述
原因是新的驱动程序类是“com.mysql.cj.jdbc.Driver”,旧的“com.mysql.jdbc.Driver”已被弃用。
但是驱动程序是通过SPI自动注册的,通常不需要手动加载驱动程序类。所以删除或者修改新驱动类均可。

至此,问题已经完美解决!
但是如果项目涉及到git版本控制工具,记得commit时取消勾选刚刚修改的配置文件部分push,否则同事会因你修改了版本而无法使用!
在这里插入图片描述
欢迎批评指正?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值