`com.mysql.jdbc.Driver‘. This is deprecated. The new driver class is `com.mysql.cj.jdbc.Driver‘的解决办法

com.mysql.jdbc.Driver‘. This is deprecated. The new driver class is com.mysql.cj.jdbc.Driver‘的解决办法

说多了都是泪,搭建这个项目遇到的问题太多了,csdn下载的一个javaweb项目
github上也下载了几个,还学会了github上下载东西方法,全是英文的…

问题1:This is deprecated. The new driver class is
`com.mysql.cj.jdbc.Driver’

解决方案:mysql数据库驱动jar包5.0后包含5.0 至后面的6/7/8/9。。这些版本,数据库不支持这个连接
com.mysql.jdbc.Driver 要改为:com.mysql.cj.jdbc.Driver

问题2:SQLException: Access denied for user ‘root’@‘localhost’ (using
password: YES)

解决方案:你的数据库用户密码错误,自己百度操作方法

问题3:SQLSyntaxErrorException: Table ‘my_login.users’ doesn’t exist

解决方案:数据库里没有这个表 ,自己百度操作方法

问题4:SQLSyntaxErrorException: Unknown column ‘username’ in ‘where clause’

解决方案:原因是表里没这字段 ,自己百度操作方法

问题5:com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException:
Could not create connection to database server.

解决方案:使用JDBC mysql-connector-java-5.0.5-bin.jar包跟你的数据库连接的时候,你的JDBC版本与MySQL Server
版本不兼容,MySQL Server 版本更高一些,在连接语句后加上“useSSL=‘true’”, 一般不建议这样,默认是false的

String dbUrl=“jdbc:mysql://localhost:3306/my_login?serverTimezone=Asia/Shanghai&useSSL=false&allowPublicKeyRetrieval=true”;

SSL(Secure Sockets Layer 安全套接字协议),在mysql进行连接的时候,如果MySQL Server的版本是5.7之后的版本必须要加上useSSL=false,MySQL Server5.7以及之前的版本则不用进行添加useSSL=false,会默认为false,一般情况下都是使用useSSL=false,尤其是在将项目部署到linux上时,一定要使用useSSL=false!!!,useSSL=true是进行安全验证,一般通过证书或者令牌什么的,useSSL=false就是通过账号密码进行连接,通常使用useSSL=false!!!

图下是JDBC驱动与MySQL版本不兼容的问题:
在这里插入图片描述

原因分析:驱动版本与MySQL版本不兼容,MySQL7.5以上版本使用的驱动与之前不一样

解决方案:驱动设置为com.mysql.cj.jdbc.Driver,url路径设置为jdbc:mysql://localhost:3306/my_login?serverTimezone=UTC&userUnicode=true&charsetEncoding=utf-8

数据库连接url 的几种写法 &是连接符,不能用 ?号处理,每个属性都有的意义
String dbUrl=“jdbc:mysql://localhost:3306/my_login?useSSL=false”;
String dbUrl=“jdbc:mysql://localhost:3306/my_login?serverTimezone=Asia/Shanghai&useSSL=false&allowPublicKeyRetrieval=true”;

  • 3
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

chenzhiyuan09

你的鼓励是我最大的动力一起加吧

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值