springboot mysql 中默认不支持插入emoji表情,
首先确定mysql数据库本身是否支持emoji :mysql配置emoji

然后:DataSource中增加初始化sql配置: set names utf8mb4
首先确定自己使用的springboot整合的数据源是哪种( 有springboot自带的tomcat-jdbc数据源, 也可以使用druid数据源)

1.tomcat-jdbc数据源:

参考源码:tomcat-jdbc_DataSource设置
application.properties中增加:
spring.datasource.initSQL=set names utf8mb4
例如:

#连接池配置(tomcat-jdbc数据源) spring.datasource.initSQL=set names utf8mb4 spring.datasource.max-idle=10 spring.datasource.max-wait=10000 spring.datasource.min-idle=5 spring.datasource.initial-size=5 spring.datasource.validation-query=SELECT 1 spring.datasource.test-on-borrow=false spring.datasource.test-while-idle=true spring.datasource.time-between-eviction-runs-millis=18800

2. druid数据源

application.properties中增加:
spring.datasource.connectionInitSqls=set names utf8mb4
例如:

####  连接池配置(pom引入:druid ,新增@Configuration: com.*.*.*.DruidConfig)   ####### spring.datasource.type=com.alibaba.druid.pool.DruidDataSource spring.datasource.max-idle=10 spring.datasource.max-wait=10000 spring.datasource.min-idle=5 spring.datasource.initial-size=5 spring.datasource.validation-query=SELECT 1 spring.datasource.test-on-borrow=false spring.datasource.test-on-return=false spring.datasource.test-while-idle=true spring.datasource.pool-prepared-statements=true spring.datasource.maxActive=20 spring.datasource.maxPoolPreparedStatementPerConnectionSize=20 spring.datasource.filters=stat,wall,log4j spring.datasource.connectionProperties=druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000 spring.datasource.timeBetweenEvictionRunsMillis=60000 spring.datasource.minEvictableIdleTimeMillis=300000 spring.datasource.connectionInitSqls=set names utf8mb4