mybatis对特殊字符的模糊查询

为君一笑 提交于 2019-11-26 13:09:54

mybatis对特殊字符的模糊查询

最近开发一个功能时遇到的问题,pg数据库里面存储的有包含"_"下划线的名字时,模块查询使用 下划线
作为关键字进行模块查询时,会把所有数据查出来,发现是使用LIKE关键字进行模糊查询时,%、下划线 和 [] 单独出现时,会被认为是通配符,所以需要进行转义,然后通过ESCAPE告诉数据库转义字符后的字符为实际值。

首先对关键字进行转义

        if (keyWord != null) {
            keyWord = keyWord.replaceAll("_", "/_");
        }

在mabatis的mapper文件中,在like语句后面加上ESCAPE,告诉数据库转义字符为“/”

like #{pattern_keyWord} ESCAPE '/'
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!