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服务,再次运行,错误就消失了

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值