MyBatis if标签

MyBatis if标签 识别不到字段名的问题记录

1、

if标签可以用于字段的判断

<select id="getWordsList" resultType="java.lang.String">
        SELECT
            content
        FROM
            t_scrm_keyword
        WHERE
            type = 1
            <if test="source != null and source != '' and source != '0'">
                AND (LOCATE(0,channel) OR LOCATE(#{source},channel))
            </if>
 </select>

上面这个例子就是当source字段不为空且不为0(int类型的字段其实只需要判断是否为null和是否为0即可,不需要再判断是否为空字符串)的时候才拼接下一个sql查询条件

2、出现问题

image
if标签识别不到字段名???
看看dao层接口

List<String> getWordsList( Integer source);

3、解决方案

用@Param 取个别名,问题得以解决

List<String> getWordsList(@Param("source") Integer source);
posted @ 2022-08-24 17:36  棒棒糖堂堂主  阅读(193)  评论(0)    收藏  举报