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

public interface OrderMapper extends SqlMapper{

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

}

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

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

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


and mydate= #{mydate}

如果是用@Select

这种 改如何做呢?

解决方案:

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

@Select({""})

你可能感兴趣的:(mybatis @Select注解中当参数为空则不添加该参数的判断)