首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >mybatis @Select注解中当参数为空则不添加该参数的判断

mybatis @Select注解中当参数为空则不添加该参数的判断

作者头像
一个会写诗的程序员
发布2018-08-17 11:33:01
2.2K0
发布2018-08-17 11:33:01
举报
public interface OrderMapper extends SqlMapper{

@Select("select * from tbl_order where room like #{room} and mydate like #{mydate}")
public List<Order> getbyroom(OrderPara op);

}

这样整个语句是写死的,必须有2个参数,在这种模式下,如何能实现根据room和mydate是否为空来动态的拼写sql语句 比如当mydate=""

Select("select * from tbl_order where room like #{room} ")
public List<Order> getbyroom(OrderPara op);

如果用xml来配置语句的话,可以用

<when test="title != null">
and mydate= #{mydate}
</when>

如果是用@Select

这种 改如何做呢?

解决方案:

用script标签包围,然后像xml语法一样书写

@Select({"<script>",
    "SELECT * FROM tbl_order",
    "WHERE 1=1",
    "<when test='title!=null'>",
    "AND mydate = #{mydate}",
    "</when>",
    "</script>"})
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017.12.21 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档