查询条件为数字或者字母的时候,都可以正常查询。但是,查询条件为中文的时候,即使数据库有对应的数据,也还是返回空。
环境spring+hibernate+mysql5.0
hibernate HQL 模糊查询 3种方式
参考以下网址
http://hi.baidu.com/chlo0803/item/0b7770f4f09e72ca521c26f7
不是sql语句的问题,是hibernate在编译sql语句时出现了编码问题。
解决方案一:
spring配置数据源的时候
<property name="jdbcUrl" value="jdbc:mysql://localhost:3306/com?useUnicode=true&characterEncoding=gbk" />
加上后面的?useUnicode=true&characterEncoding=gbk
解决方案二:
修改mysql5.0的配置文件
在mysql的安装目录下,找到my.ini文件,打开后修改下面两个属性:
default-character-set=utf8
character-set-server=utf8
然后重启mysql的服务就OK了。