关于Mybatis的列索引无效这个问题踩到的坑

昨天客户突然要求新增一个组织机构可维护的功能,做一个前端页面。在做到查询功能的时候,根据input输入框输入的汉字进行模糊查询。然后后台一直报错,说列索引无效。 我的解决办法:1.把sql复制到数据库中进行查询,没有任何问题,结果正确展示。排除SQL写错的这个可能; 2

昨天客户突然要求新增一个组织机构可维护的功能,做一个前端页面。在做到查询功能的时候,根据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>

这是新的模糊查询拼接形式,修改完毕,重启。功能正常运行。

知秋君
上一篇 2024-08-01 17:36
下一篇 2024-08-01 17:02

相关推荐