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";
}
参考
版权声明:本文所有权归作者! 商业用途转载请联系作者授权! 非商业用途转载,请标明本文链接及出处!
赞成、反驳、不解的小伙伴,欢迎一起交流!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构