昨天客户突然要求新增一个组织机构可维护的功能,做一个前端页面。在做到查询功能的时候,根据input输入框输入的汉字进行模糊查询。然后后台一直报错,说列索引无效。
我的解决办法:1.把sql复制到数据库中进行查询,没有任何问题,结果正确展示。排除SQL写错的这个可能;
2.上网查询解决办法;1)第一个办法说的是因为有汉字的出现可能编码的问题,需要修改XML的编码encoding=“GBK”;果断试了一下重启服务,无效。2)第二种解决办法,可能是因为mybatis新版本的问题,拼接模糊查询的SQL不是用引号直接拼接。如下
<!--查询--> <select id="selectByName" resultType="com.jxdinfo.hussar.base.model.State"> select * from t_org_state <if test="zzjg != '' and zzjg !=null"> where orgname like '%'||#{zzjg}||'%' </if> </select>
这是新的模糊查询拼接形式,修改完毕,重启。功能正常运行。