mysql修改字符集&JPA自动建表用utf8

copy my-default.ini 为 my.ini,添加下面配置
[mysqld]
character_set_server=utf8

[mysql]
default_character_set=utf8

[client]
port=3306
default_character_set=utf8


JPA自动创建表用UTF8(吐槽:配置方言居然是 database-platform,而不是熟悉的dialect,FUCK,折腾死我了!)
继承并覆写方法MySQL5InnoDBDialect为MySQL5DialectUTF8 :
public class MySQL5DialectUTF8 extends MySQL5InnoDBDialect {

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

然后配置:
spring.jpa.database-platform=xxx.MySQL5DialectUTF8
spring.datasource.url=jdbc:mysql://localhost:3306/db_petstore?useUnicode=yes&characterEncoding=UTF-8

猜你喜欢

转载自1971161579.iteye.com/blog/2423169