mybatis mapper.xml中使用静态方法或者静态常量

静态方法

语法

${@全限定类名@方法名}

示例

  • 例1
<insert id="saveArticleLabel">
    INSERT INTO dcy_article_label(id, article_id, label_id)
    VALUES
    <foreach collection="labelIds" item="item" separator=",">
        ('${@com.baomidou.mybatisplus.core.toolkit.IdWorker@getId()}', #{articleId}, #{item})
    </foreach>
</insert>
  • 例2
<choose>
    // 需要静态方法返回true还是false
    <when test="@staticClass@staticMethod(args)">
         // 需要拼接的SQL
    </when>
</choose>
  • 例3
select
<include refid="Base_Column"/>
from xxx
where valid = 1
<if test="record.code != null and record.code.trim().length() > 0">
  and code ${@com.common.util.MapperHelp@getQuery("record.code",record.code)}
</if>
public class MapperHelp {
    public static String getQuery(String propertyField, String value) {
    	return "= 'xxx'";
    }
}

静态常量

语法

${@全限定类名@常量名}

示例

select
<include refid="Base_Column"/>
from xxx
where valid = ${@com.common.util.MapperHelp@VALID}
public class MapperHelp {
    public static final String VALID = "1";
}

参考

百度文库
博客园
博客园


版权声明:本文所有权归作者! 商业用途转载请联系作者授权! 非商业用途转载,请标明本文链接及出处!
赞成、反驳、不解的小伙伴,欢迎一起交流!

posted @ 2022-07-20 14:41  码文采  阅读(335)  评论(0)    收藏  举报