简单记录一下 项目中遇到的一些异常及如何解决的汇总

1.问题:生僻字入表会导致入表失败;[Err] 1366 - Incorrect string value: '\xF0\xA1\x98\x99' for column 'KNWLG_NM' at row 1

原因:uft8的字符集中不存在 三个大 字的字符集编码,导致的报错

解决:修改字符集为utf-8mb4

链接https://blog.csdn.net/boss_way/article/details/100916850

https://blog.csdn.net/boss_way/article/details/103033018

ALTER table table_name CONVERT to CHARACTER set  新的字符集

ALTER table table_name DEFAULT to CHARACTER set  新的字符集

2 问题,配置文件中增加链接配置 initconnect='set names utf8mb4'   或设置数据库字符集为set names uft8mb4 后均不生效

原因:mysql 5.1.37 中connectionImpl 源码中 每次都会执行set name utf8 。把数据库的配置覆盖掉

解决:把mysql5.1.37 升级到5.1.47

链接https://blog.csdn.net/boss_way/article/details/103868377

问题.修改字符集报错:

原因:mysql 5.0版本以上,varchar(255),指的是255字符; 最大65532字节。

因为utf8 一般一个字符占用 3个字节,utf8mb4 一个字符 占用4个字节,所以会出现这个情况。

解决:一般只能缩减 字段的长度,保持字段总长度在 16383 个内;(这个长度 不包含 longtext 和text 类型字段);

链接:https://blog.csdn.net/boss_way/article/details/103911769

问题。链接mysql报错: client does not support authentication protocol requested by server;consider upgrading mysql client

原因:mysql8 之前的版本中加密规则是mysql_native_password,而在mysql8之后,加密规则是caching_sha2_password 把mysql用户登录密码加密规则还原成mysql_native_password; 所以 alter 加密规则后可以解决: ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '你的root账号密码'; ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的root账号密码';

解决:命令窗口:登录:mysql -u root -p 

登录后执行:ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '你的root账号密码';

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的root账号密码';

SELECT plugin FROM mysql.user WHERE User = 'root';

链接:https://blog.csdn.net/boss_way/article/details/89092214

5问题:NestedIOException: ASM ClassReader failed to parse class file - probably due to a new Java class。启动项目时报出该错误是因为spring版本和jdk版本不兼容所致。

原因:spring3.x兼容jdk1.8以下,不支持1.8           spring4.x兼容jdk1.8

解决:项目使用的是spring3.x,使用的jdk是1.8.   将spring升级为4.x或者将jdk改为1.7即可。

链接:https://blog.csdn.net/boss_way/article/details/89762551

6 问题。elasticsearch head提示CRX_HEADER_INVALID 解决

原因:未知,知道的大佬可以给评价说一下。哈哈

解决:https://blog.csdn.net/boss_way/article/details/105826584

7问题:elasticsearch使用head更新或新增mapping映射文件报validation failed:1 template is missing 。批量获取mapping映射文件

原因:es版本 5.* 必须有template字段。6.* 不是必须的

解决:https://blog.csdn.net/boss_way/article/details/105826800

6 问题:java.lang.RuntimeException: org.apache.ibatis.binding.BindingException: Invalid bound statement (not found):

原因:xml文件中 <mapper 的namespace 属性 定义的 接口找不到。如果按 ctrl + 鼠标点击不能跳转的话,说明 路径写的有问题,正确的路径,ctrl+鼠标 是可以点击进入到接口类的

解决:修改namespace为正确的接口路径即可;

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值