数据库表执行语句
delete
FROM
t_organ_dict_mapping A
WHERE
exists (
SELECT
*
from
( SELECT
B.*
FROM
t_organ_dict_mapping B
WHERE
1=1
and B.dict_id='99996'
and B.kd_id='0001AA100000000DX6OYF6'
UNION
all SELECT
B.*
FROM
t_organ_dict_mapping B
WHERE
1=1
and B.dict_id='99996'
and B.kd_id='0001AA100000000DX6OYD6'
)S
WHERE
A.dict_id=S.dict_id AND A.kd_id =S.kd_id );
Mapper
void batchdeleteByKgIds(@Param("list") List<OrganDictMapping> list);
Mapper.xml
<delete id="batchdeleteByKgIds" parameterType="java.util.List">
delete from t_organ_dict_mapping A
where exists
(
select * from(
<foreach collection="list" item="item" index="index" separator="union all">
select B.* from t_organ_dict_mapping B where 1=1 and B.dict_id=#{item.dictId,jdbcType=VARCHAR} and B.kd_id=#{item.kdId,jdbcType=VARCHAR}
</foreach>
)S where A.dict_id=S.dict_id AND A.kd_id =S.kd_id
)
</delete>