入参用map,map中嵌套list
{
"volumeTemplateId": "8085006426363731968",
"searchList": [
{
"metadataId": "8084978486164398080",
"value": "模板字段1-value1"
},
{
"metadataId": "8084978979217416192",
"value": "模板字段2-value2"
}
]
}
impl
List<String> volumeIdList = taxSysVolumeMapper.getVolumeListByTemplateId(map);
dao.java
List<String> getVolumeListByTemplateId(@Param("map") Map map);
dao.xml
<select id="getVolumeListByTemplateId" resultType="java.lang.String">
select id from TAX_SYS_VOLUME WHERE VOLUME_TEMPLATE_ID = #{map.volumeTemplateId,jdbcType=VARCHAR}
<if test="map.searchList != null and map.searchList.size() > 0">
<foreach collection="map.searchList" index="index" item="item" open="" separator=" " close="" >
AND
EXISTS
(SELECT * FROM TAX_SYS_VOLUME_DATA WHERE METADATA_ID = #{item.metadataId,jdbcType=VARCHAR} AND `VALUE`=#{item.value,jdbcType=VARCHAR})
</foreach>
</if>
</select>