hibernate连接数据库编码错误问题

hibernate连接数据库编码错误问题

错误问题

最近在学习hibernate,然后看了一些视频之后模仿着写了一些代码,但是运行的时候总是出现错误,如下图所示:
在这里插入图片描述

问题发现

仔细看输出的信息,向下翻,我看到了这个:
在这里插入图片描述
我百度了一下,这是编码不匹配的问题,这位博主写的文章,https://blog.csdn.net/txwtech/article/details/80787886
可以去看一下

为了确定我的一定是编码不匹配的问题,我写了一个.java程序,使用jdbc连接mysql,果然在后面不加那么一长串代码,连不上数据库,上文的字符集改变代码似乎有点问题,我没有运行不出来,下面是我的,运行成功连接上了数据库

jdbc:mysql://127.0.0.1:3306/数据库名称?useUnicode=true&characterEncoding=utf-8

于是,我可以确定,确实是驱动包与数据库的编码不匹配产生了问题。

问题解决

在hibernate.cfg.xml中驱动后面加,但是出错。删掉mysql的jdbc驱动,是不可能的,毕竟我不知道删了又能用哪一个版本的。

在搞了许久之后,我突然想起我的mysql编码好像不是utf-8,mysql前两天刚刚装上,my.ini文件是我自己写的,初始化的时候,建议使用utf8mb4格式,所以强迫症的我,索性就改成了utf8mb4:
在这里插入图片描述

最终解决方法

将my.ini中的编码改回utf8,重启mysql服务,再次运行,错误就消失了

在这里插入图片描述在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/wangzhiyu12/article/details/90477226