幽兰生空谷
--绝世独自开

MyBatis的 mapper.xml里面foreach标签里面的属性separator写逗号还是or

属性separator 为逗号

  • 前段传过来的snapshotIds参数是list集合,类型为Integer或Long
select * from student_snapshot ss where 1=1
<if test="snapshotIds != null">
    and ss.id in
    <foreach collection="snapshotIds" item="item" open="(" close=")" separator=",">
             #{item}
    </foreach>
</if>

最后渲染为sql语句为

and ss.id in (1,2,3)
  • 前段传过来的snapshotView参数是list集合,类型为实体类对象
public class snapshotView {

    private String snapshotIds = null;
    private String gradIds = null;
    private String classIds = null;
}

查询:

select * from student_snapshot ss where 1=1
<if test="snapshotView.snapshotIds != null">
    and ss.id in ( ${snapshotView.snapshotIds} )
</if>
<if test="snapshotView.snapshotIds == null">
    and ss.id in ( '' )
</if>

属性separator 为or

  • 前段传过来的snapshotIds参数是list集合,类型为Integer或Long
select * from student_snapshot ss where 1=1
<if test="snapshotIds != null">
    and 
    <foreach collection="snapshotIds" item="item" open="(" close=")" separator=",">
          ss.id  =  #{item}
    </foreach>
</if>

最后渲染为sql语句为

and ( ss.id = 1 or ss.id = 2 or ss.id = 3)
  • 前段传过来的userId参数,查询实体类集合对象(什么方法查的无所谓)
List<SysDeptEntity> deptEntityList = currencyFeign.getDeptByUserId(userId);

SysDeptEntity:

public class SysDeptEntity {

    private Long oid = null;
    private String deptCode = null;
    .....
}

查询:

select * from student_snapshot ss where 1=1
<if test="deptEntityList != null and deptEntityList.size() > 0">
        and
<foreach collection="deptEntityList" item="item" open="(" close=")" separator="or">
        ss.dept_code like concat(#{item.deptCode},'%')
</foreach>
</if>
<if test="deptEntityList == null or deptEntityList.size() == 0">
      and ss.dept_coid = null
</if>

赞(3) 打赏
版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
文章名称:《MyBatis的 mapper.xml里面foreach标签里面的属性separator写逗号还是or》
文章链接:https://www.itheibai.com/archives/976
免责声明:根据《计算机软件保护条例》第十七条规定“为了学习和研究软件内含的设计思想和原理,通过安装、显示、传输或者存储软件等方式使用软件的,可以不经软件著作权人许可,不向其支付报酬。”您需知晓本站所有内容资源均来源于网络,仅供用户交流学习与研究使用,版权归属原版权方所有,版权争议与本站无关,用户本人下载后不能用作商业或非法用途,需在24个小时之内从您的电脑中彻底删除上述内容,否则后果均由用户承担责任;如果您访问和下载此文件,表示您同意只将此文件用于参考、学习而非其他用途,否则一切后果请您自行承担,如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。
本站是非经营性个人站点,所有软件信息均来自网络,所有资源仅供学习参考研究目的,并不贩卖软件,不存在任何商业目的及用途,网站会员捐赠是您喜欢本站而产生的赞助支持行为,仅为维持服务器的开支与维护,全凭自愿无任何强求。

评论 抢沙发

评论前必须登录!

 

养成“打赏”的好习惯,从我做起!

非常感谢你的打赏,我们将继续给力更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫

微信扫一扫

登录

找回密码

注册