微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

mybatis foreach怎么传两个参数

这篇文章主要介绍了mybatis foreach怎么传两个参数的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇mybatis foreach怎么传两个参数文章都会有所收获,下面我们一起来看看吧。

需求

foreach中要传两个参数,一个是id,一个是list。怎么传呢?

单list的情况

Mapper.java

 /**
     * 批量删除
     * @param teamList
     * @return
     */
    public int batchDeleteBizTeam(List<BizTeam> teamList);

Mapper.xml

  <delete id="batchDeleteBizTeam">
        delete from biz_team where id in
        <foreach item="item" collection="list" separator="," open="(" close=")" index="">
               #{item.id}
        </foreach>
    </delete>

因为我们只传了一个参数,所以这里的collection="list"会自动对应List teamList

多参数+list用map传参

传参地方:

Map params = new HashMap();
params.put("matchId", matchIdLong);
params.put("oeList", oddsEuropeList)

Mapper.java

  /**
     * 批量删除数据
     * @param params
     * @return
     */
    public int batchDeleteOddsEurope(Map params);

Mapper.xml

  <delete id="batchDeleteOddsEurope">
        delete from biz_odds_europe where match_id=#{matchId} and company_id in
        <foreach item="item" collection="oeList" separator="," open="(" close=")" index="">
            #{item.companyId}
        </foreach>
    </delete>

这里的 collection="#{oeList}"就对应Map中的key为oeList的值了。

关于“mybatis foreach怎么传两个参数”这篇文章内容就介绍到这里,感谢各位的阅读!相信大家对“mybatis foreach怎么传两个参数”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注编程之家行业资讯频道。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐