Mybatis多条件、枚举拼接sql

对于mybatis中mapper文件,有时候仅仅需要判定是不是为空,但有时也需要判定这个字段的内容,是不是某个值,甚至这个字段是枚举类型,此时该怎么判定呢?见以下Demo

  1.  <if test=“endAt != null”>
  2. AND `order`.created_at &lt; #{endAt}
  3. </if>
  4. <if test=’status!=null and status.value ==8‘>
  5. AND `order`.status = 8
  6. </if>
  7. <if test=’status!=null and status.value !=8‘>
  8. AND `order`.status != 8
  9. </if>

其中枚举类格式,枚举类已经处理为数字了,不是字符串了:关于枚举转换详见这篇博文:https://vsalw.com/1498.html

  1. FAILED(19“FAILED”),//value,name
  2. UNKOWN(20“UNKOWN”);