服务器之家:专注于VPS、云服务器配置技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - Java教程 - 解决spring-data-jpa mysql建表编码问题

解决spring-data-jpa mysql建表编码问题

2021-10-15 11:16乄名007 Java教程

这篇文章主要介绍了解决spring-data-jpa mysql建表编码问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

使用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

延伸 · 阅读

精彩推荐