您的位置:首页 > 编程语言 > Java开发

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

2019-03-31 13:14 417 查看

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,否则同事会因你修改了版本而无法使用!

欢迎批评指正👏

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐