Springboot2.0中Hibernate默认创建的mysql表字符集不为UTF8问题

在做机器学习平台时,用到的springboot+jpa通过@Entity生成的表,字符集为latin1,引擎为MyISAM,导致存入表中的中文乱码,只需要下面代码即可将创建的表引擎为InnoDB,字符集为utf8

import org.hibernate.dialect.MySQL5InnoDBDialect;

public class MysqlConfig extends MySQL5InnoDBDialect {
    @Override
    public String getTableTypeString() {
        return " ENGINE=InnoDB DEFAULT CHARSET=utf8";
    }
}

在yml中配置

spring:
  jpa:
    show-sql: true
    hibernate:
      ddl-auto: update
    database-platform: com.sf.clpp.ccp.ml.web.common.MysqlConfig #类的全类名

你可能感兴趣的:(sprintboot)