使用InnoDB引擎 UTF8编码
创建配置类:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
import org.hibernate.dialect.MySQL5InnoDBDialect;
import org.hibernate.dialect.MySQLInnoDBDialect;
import org.springframework.stereotype.Component;
/**
* Created by ZXing
* QQ:1490570560
*/
public class MysqlConfig extends MySQL5InnoDBDialect {
@Override
public String getTableTypeString() {
return " ENGINE=InnoDB DEFAULT CHARSET=utf8" ;
}
}
|
配置文件中添加配置:(.yml)
1
2
3
4
5
|
spring:
jpa:
properties:
hibernate:
dialect: com.zxing.user.config.MysqlConfig #配置类全路径
|
jpa操作mysql乱码以及中文查询错误
如果MySQL表中字段有中文,去查询时报javax.persistence.NonUniqueResultException,需要一行结果返回多行的错误,最终定位到还是配置文件中没有指定MySQL配置的编码的原因导致的。
同jpa操作MySQL乱码是一样的修改办法
需要指定配置如下:
1
|
spring.datasource.url = jdbc:mysql: //localhost:3306/videobase?characterEncoding=utf-8
|
以上为个人经验,希望能给大家一个参考,也希望大家多多支持服务器之家。
原文链接:https://blog.csdn.net/qq_35119422/article/details/80573529