关于ibatis 的 like的诡异问题

场景描述:

    同事在开发一个查询功能的时候,使用了like的查询,大致是这样写的,select count(1) from table where a like ('%管理员%'),这样的查询语句,在sql gui tools(我使用的是DbVisualizer)中执行是可以返回1的,在用junit中直接调用service的count方法,也是可以返回1的,但是就是在struts2中的action调用这个语句,老是返回0.查询不到任何的记录。非常奇怪,什么字符编码之类的,都考虑过了,都是问题存在。后来突然修改为where a like concat('%','管理员','%')这样的形式,居然问题就解决了。非常奇怪。

     难道是mysql的底层字符编码中的like有什么特殊的处理吗?不知道为什么,希望有高手看到这个问题的时候,可以回答一下。


你可能感兴趣的:(关于ibatis 的 like的诡异问题)