当前位置:   article > 正文

Mybatis中and和循环or混用 (or转换成in)_mybatis or 循环

mybatis or 循环

这次项目用到一个and和or混用的场景 , 因为用到多个or(循环), 没想到好的办法

最终转换成用 IN实现:

场景:

用left join链接多个表, 多个条件and筛选, 其中状态(state)条件筛选出多个可选状态的条目,

本来想用and 和 or 但是 or的条件是个数组参数, 需要遍历states , 可能0个可能多个, 拼了半天没有成功 , 最后发现用 IN 和FOREACH就可以了

DAO层接口 :

  1. List<OrderInfoForm> selectOrdersByStatesSelective(
  2.             @Param(value="order")Order order,
  3.             @Param(value="states")Integer[] states);

Mybatis实现:

  1. <select id="selectOrdersByStatesSelective" resultMap="AllResultMap" >
  2.     select 
  3.     <include refid="All_Column_List" />
  4.     from order_list
  5.     LEFT JOIN product_method ON product_method.`code` = order_list.purchase_method
  6.     LEFT JOIN product_color ON product_color.`code` = order_list.color
  7.     LEFT JOIN product_guarantee ON produ
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Gausst松鼠会/article/detail/158313
推荐阅读
相关标签
  

闽ICP备14008679号