SpringBoot、mybatis、Druid结合使用存储emoji图标

日常工作中经常会遇到需要数据库能够兼容 生僻字、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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值