日常工作中经常会遇到需要数据库能够兼容 生僻字、emoji 的需求。

解决这中问题的办法一共有两步:1.修改字段的字符集为 utf8mb4

             2.程序兼容生僻字或者 emoji

1、修改字符集

ALTER TABLE tbl_name CHANGE c_name c_name CHARACTER SET character_name [COLLATE ...];
如:ALTER TABLE logtest CHANGE title title VARCHAR(100) CHARACTER SET utf8 COLLATE utf8_general_ci;

2、修改程序

这里需要提前说明一点,SpringBoot默认使用的是tomcat数据源,要使用druid数据源,必须自己重写数据源配置。配置emoji关键点在于数据库链接中的 initConnectionSqls属性;

如下配置:

    public DataSource dataSource() throws Exception {DataSourceProperties properties = loanDataSourceProperties();Map<String, Object> map = Maps.newHashMap();map.put("url", properties.getUrl());map.put("driverClassName", properties.getDriverClassName());map.put("username", properties.getUsername());map.put("password", properties.getPassword());map.put("initialSize", "1");map.put("maxActive", "20");map.put("maxWait", "60000");map.put("timeBetweenEvictionRunsMillis", "60000");map.put("validationQuery", "SELECT 'x'");map.put("testWhileIdle", "true");map.put("testOnBorrow", "false");map.put("testOnReturn", "false");map.put("poolPreparedStatements", "false");map.put("initConnectionSqls","SET NAMES utf8mb4 COLLATE utf8mb4_unicode_ci;");DataSource dataSource = DruidDataSourceFactory.createDataSource(map);return dataSource;}

自此,我们的程序里就能够使用emoji图标啦。

转载于:https://www.cnblogs.com/funmans/p/10006714.html

SpringBoot、mybatis、Druid结合使用存储emoji图标相关推荐

  1. 单手撸了个springboot+mybatis+druid

    本文旨在用最通俗的语言讲述最枯燥的基本知识 最近身边的程序员掀起了学习springboot的热潮,说什么学会了springboot在大街上就可以横着走.什么有了springboot妈妈再也不担心我的编 ...

  2. 3分钟搞定SpringBoot+Mybatis+druid多数据源和分布式事务

    在一些复杂的应用开发中,一个应用可能会涉及到连接多个数据源,所谓多数据源这里就定义为至少连接两个及以上的数据库了. 下面列举两种常用的场景: 一种是读写分离的数据源,例如一个读库和一个写库,读库负责各 ...

  3. SpringBoot+Mybatis+Druid批量更新 multi-statement not allow异常

    SpringBoot+Mybatis+Druid批量更新 multi-statement not allow异常 参考文章: (1)SpringBoot+Mybatis+Druid批量更新 multi ...

  4. 单手撸了个springboot+mybatis+druid 1

    本文旨在用最通俗的语言讲述最枯燥的基本知识 最近身边的程序员掀起了学习springboot的热潮,说什么学会了springboot在大街上就可以横着走.什么有了springboot妈妈再也不担心我的编 ...

  5. 基于Maven的Springboot+Mybatis+Druid+Swagger2+mybatis-generator框架环境搭建

    首页 Android Java 服务器 标签云 作品 关于 赞助列表  <a href="https://github.com/RayeWang" class="f ...

  6. Springboot+Mybatis+Druid+Maven多模块项目搭建遇到的各种吭

    Springboot+Mybatis+Druid+Maven多模块项目搭建 这里记录一下搭建多模块遇到的吭 首先建立一个父级空项目,在pox里修改下配置 2,建立DaoMapper层和ModelEnt ...

  7. springboot maven打包jar运行,springboot mybatis druid,demo源码

    注:本文介绍的mysql版本是5.x ,如果mysql升级到8 有几个地方需要改动 https://blog.csdn.net/a704397849/article/details/108396563 ...

  8. SpringBoot + Mybatis + Druid + PageHelper 实现多数据源并分页

    点击关注公众号,Java干货及时送达 本篇文章主要讲述的是SpringBoot整合Mybatis.Druid和PageHelper 并实现多数据源和分页.其中SpringBoot整合Mybatis这块 ...

  9. SpringBoot+Mybatis+ Druid+PageHelper 实现多数据源并分页

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试资料 作者: 虚无境 cnblogs.com/xuwujing/p/89 ...

最新文章

  1. Ext.ux.form.SearchField使用方法
  2. OpenCV 中的 convertTo 函数
  3. Java中使用SQLite数据库
  4. Hadoop-2.2.0学习之二HDFS联盟
  5. d+java.ext.dirs_Java-JDK9-Djava.ext.dirs is not supported
  6. 前端学习(2465):ajax发送请求
  7. ruby推送示例_Ruby直到示例循环
  8. 神奇的canvas——巧用 canvas 为图片添加水印
  9. bzoj3390[Usaco2004 Dec]Bad Cowtractors牛的报复*
  10. KeyMob--最智能的移动广告聚合平台
  11. CSS-DIV页面布局
  12. **time_limited.sof文件
  13. 互联网人用什么软件画出大神级别的架构图?如何画出顶级架构图?
  14. 微信Markdown-here的CSS样式——不断调整
  15. traits简单介绍
  16. Delaunay三角剖分及matlab实例
  17. 空气炸锅能从“网红”到“长红”吗?
  18. 智慧城市无线充电故障和fitbits总体规划8月以来的热门新闻
  19. 咨询_计算机屏幕_雾面屏;
  20. ubuntu16.04下载 cuda 网络错误解决办法

热门文章

  1. 跨域资源请求(除jsonp以外)的方法
  2. window下Jekyll+github搭建自己的博客
  3. rhel 6.4 增加光盘为yum repo
  4. AI 对不起 我还爱着你
  5. 浏览器设备信息UserAgent查询
  6. dedecms调用日期格式化形式大全
  7. CentOS 7部署rsync备份服务器
  8. 多平台移动项目开发工具Elements发布v9.1,支持Visual Studio 2017
  9. POJ 2480 Longge#39;s problem 积性函数
  10. Bulma - 基于 Flexbox 的现代化的 CSS 框架