java jdbc常见异常

JDBC异常

1. 报错异常:Public Key Retrieval is not allowed

在这里插入图片描述

这个错误是数据库的用户错误

如果用户使用 sha256_password 认证,密码在传输过程中必须使用 TLS 协议保护,但是如果 RSA 公钥不可用,可以使用服务器提供的公钥;可以在连接中通过 ServerRSAPublicKeyFile 指定服务器的 RSA 公钥,或者AllowPublicKeyRetrieval=True参数以允许客户端从服务器获取公钥;但是需要注意的是 AllowPublicKeyRetrieval=True可能会导致恶意的代理通过中间人攻击(MITM)获取到明文密码,所以默认是关闭的,必须显式开启
在jdbc连接添加上参数allowPublicKeyRetrieval=true即可,注意参数间用&

解决办法:

在url后加上 &allowPublicKeyRetrieval=true

2. 报错异常:Access denied for user ‘roo’@‘localhost’ (using password: YES)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GQDuTdda-1630845563597)(C:\Users\xiaobaihao\AppData\Roaming\Typora\typora-user-images\image-20210903161425163.png)]

这个是数据库密码错误

解决办法:

没有解决办法,把密码改对

3. 报错异常:Duplicate entry ‘40’ for key ‘dept.PRIMARY’

在这里插入图片描述

这个是主键冲突

解决办法:

解决办法是,把主键删掉 || 改不冲突的主键 || 用default补充

4. 报错异常:No suitable driver found for jdb:mysql://127.0.0.1…

在这里插入图片描述

这个是没有发现一个合适的驱动,一般是url写错了

解决办法:

解决办法是:写对

jdbc:mysql://127.0.0.1:3306/shiwu?useSSL=false&useUnicode=true&characterEncoding=UTF- 8&serverTimezone=Asia/Shanghai

5. 报错异常: You have an error in your SQL syntax;

在这里插入图片描述

这个是sql语句写错了

解决办法:

解决办法是:检查sql语句哪里有错误

6. 报错异常:Table ‘shiwu.depts’ doesn’t exist

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Sc1GkJoZ-1630845563602)(C:\Users\xiaobaihao\AppData\Roaming\Typora\typora-user-images\image-20210903163232296.png)]

这个是表不存在

解决办法:

创建一张表 || 检查自己是不是写错了

7. 报错异常:Unknown database ‘shiwu’

在这里插入图片描述

这个是数据库不存在 || 端口号写错了

解决办法:

检查自己的端口号和数据库

おすすめ

転載: blog.csdn.net/weixin_45716754/article/details/120120901