【批量】多条件批量查询语句

多条件批量查询语句 (这里是分表汇总成一个表进行查询,大家用不上多表,直接把多表替换成单表即可,主要看第二个《foreach的内容》)

xml

    <select id="getSameCarton" resultType="java.lang.Integer">
        select count(1)
        from
        (
        <foreach collection="qrTableList" item="qrTable" separator=" union all ">
            select * from ${qrTable}
        </foreach>
        ) t
        where
        1=1
        and
        <foreach collection="printQrList" item="qr" separator="or" open="(" close=")">
            purchase_order_no=#{qr.purchaseOrderNo}
            and
            purchase_order_line_number =
            #{qr.purchaseOrderLineNumber}
            and
            carton
            =#{qr.carton}
        </foreach>
    </select>

mapper.java

serviceImpl.java

补充:printQrList是一个  List<QrPrintTransferCommitVo>

最终效果: 将运行的sql从控制台,粘贴到数据库工具中运行,可以看到。


补充:

带  in 的查询

and wk.workshop_code in
        (
        ''
        <foreach collection="workshopCodeList" item="item" close="" open="," separator=",">
            #{item}
        </foreach>
        )

有的内容是自己平日积累的与工作上遇到的,有的是摘抄其他博主的精彩好文(会附上作者),愿大家共同成长。
原文地址:https://www.cnblogs.com/PinkPink/p/14733730.html