json_guo的gravatar头像
json_guo 2018-01-29 14:21:33
hibernate连接数据库查询乱码的问题

 hibernate中条件查询其实是一件非常有意思的事情。能够熟练使用它的人来说,配置、使用hibernate可谓是手到擒来,但是对于我们这些菜鸟们来说,使用hibernate不熟悉,就会导致各种各样的问题,今天我就遇到了低级的问题,“白白浪费”了我4个多小时的时间。

       我使用hibernate的criteria进行条件查询,当我输入的条件的是数字或者无条件输入的时候,能够查询出来数据,但当我输入汉字查询的时候,虽然形成的sql语句中添加了查询条件,但就是查询不出来数据,这是为什么呢?(如下所示的代码)

<property name="connection.url">jdbc:mysql://localhost:3306/meikuang?useUnicode=true&characterEncoding=utf-8</property>  

 因为我的数据表是导入的excel,所以我怀疑是导入的数据表有问题,但是在我采用hibernate的create方法自动生成表之后,再导入表,查询还是没有数据。因此不是表的问题。

      我将以上的sql语句放在mysql上运行,明明可以查询到数据,因此,我的直觉告诉我应该是hibernate查询的时候,输入的汉字条件有问题,一提汉字,想必我们程序猿都明白------编码问题,是编程开发中非常头疼的问题。如果确认是编码问题,很好解决,但是找不到的确非常的蛋疼。

    我检查了数据库和程序的编码都是一致的(UTF-8),但hibernate的编码格式没有设置编码格式,导致乱码无法查询。

<property name="connection.url">jdbc:mysql://localhost:3306/meikuang?useUnicode=true&characterEncoding=utf-8</property>

所以在hibernate配置时一定要配置hibernate数据库连接的编码格式,否则就会出现很多问题。 


打赏

已有1人打赏

最代码官方的gravatar头像
最近浏览
hhuangh  LV5 2019年11月21日
zyhzyh123  LV2 2018年7月20日
zyl  LV34 2018年6月29日
susonghao123 2018年5月31日
暂无贡献等级
liangxiang  LV6 2018年5月23日
wowo25257758 2018年4月28日
暂无贡献等级
liumilongnuibi  LV2 2018年4月25日
李先森  LV19 2018年3月15日
ryy1123605874  LV2 2018年3月14日
孙启政  LV7 2018年3月1日
顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友