spring boot mybatis mysql 对emoji表情的插入与查询支持

  在网上查了很多都是要求在数据层面修改比如userName字段的值有可能存emoji表情那就把字段改成字符集 utf8mb4 我的排序规则是utf8mb4_unicode_ci,如果单个字段不行就整个表varchar字段都改成这样的

到了这部,使用mysql客户端 对这个字段增删改查是没问题的

但是很少有人提到mybatis程序方面的修改

修改你的mapper.xml   增加一条

<update id="setUTF">SET NAMES utf8mb4</update>
mapper.class 增加
public void setUTF();

最后在你执行增删改查的代码之前执行
setUTF()这个方法如
service.setUTF();
service.insertSelective(object);

总结一下:
1 mysql:修改字段 字符集和排序规则 utf8mb4 utf8mb4_unicode_ci
2 代码:增加mapper.xml更新方法
3 在执行平时增删改查之前执行那个更新方法

注 如果条件查询的时候 不加新增的setUTF()方法,带emoji表情的内容的值无法参与条件查询,否则报错

posted on 2024-06-04 17:03  big竹子  阅读(37)  评论(0编辑  收藏  举报