当前位置 : 主页 > 编程语言 > java >

spring boot 使用utf8mb4的操作

来源:互联网 收集:自由互联 发布时间:2021-04-03
我就废话不多说了,大家还是直接看代码吧~ spring: datasource: driver-class-name: net.sf.log4jdbc.DriverSpy url: jdbc:log4jdbc:mysql://127.0.0.1:3306/test1useUnicode=truecharacterEncoding=utf-8useLegacyDatetimeCode=falseserv

我就废话不多说了,大家还是直接看代码吧~

spring:
 datasource:
  driver-class-name: net.sf.log4jdbc.DriverSpy
  url: jdbc:log4jdbc:mysql://127.0.0.1:3306/test1?useUnicode=true&characterEncoding=utf-8&useLegacyDatetimeCode=false&serverTimezone=Asia%2fShanghai
  username: admin
  password: admin
  hikari:
   connection-init-sql: set names utf8mb4

补充:springboot解决utf8mb4类型连接

在使用springboot默认连接池的情况下,默认使用的是tomcat-jdbc-pool,在处理utf8mb4类型数据的时候,需要大致两步

1.设置数据库、表、字段的编码类型为utf8mb4

2.在创建数据库连接之后,要执行一条sql语句“SET NAMES utf8mb4 COLLATE utf8mb4_unicode_ci”,这样的数据库连接才可以操作utf8mb4类型的数据的存取。

在配置数据库连接池的配置上,根据使用的连接池的不同,配置参数也不相同,下面给出springboot使用默认的tomcat连接池的时候,支持utf8mb4的配置。

spring:
 datasource:
  driver-class-name: com.mysql.jdbc.Driver
  url: jdbc:mysql://*.*.*.*:3306/dbname?useUnicode=true&characterEncoding=utf-8
  username: username
  password: password
  tomcat:
    initSQL: SET NAMES utf8mb4 COLLATE utf8mb4_unicode_ci

以上为个人经验,希望能给大家一个参考,也希望大家多多支持易盾网络。如有错误或未考虑完全的地方,望不吝赐教。

网友评论