mybatis传递Map和List集合示例

mybatis传递Map和List集合示例

1、List示例

java文件:

  • dao:
    public List<ServicePort> selectByIps(List<String> ips);
  • xml
    <!-- 高级查询 -->
    <select id="selectByIps" resultType="ServicePort">
    select *
    from port_service_info 
    where ip in
        <foreach item="item" index="index" collection="list" 
        open="(" separator="," close=")">
        #{item}
        </foreach>
    </select> 

2、Map示例

java文件:

  • service:
    public List<TamperAndHijack> selectByDomains(List<String> domains, String dayKey) {
    Map<String, Object> map = new HashMap<String, Object>();
    //不存在就查询所有
    if(domains.isEmpty()){
    domains = null;
    }
    map.put("domains", domains);
    //默认为当天
    if(dayKey == null || "".equals(dayKey)){
    dayKey = CommonUtil.getCurrentDateStr();
    }
    map.put("dayKey", dayKey);
    return tamperAndHijackMapper.selectByDomains(map);
    }
  • dao:
    /** 通过domains查询指纹信息 */
    public List<TamperAndHijack> selectByDomains(@Param("map")Map<String, Object> map);
  • xml文件:
    <!-- 高级查询 -->
        <select id="selectByDomains" parameterType="map" resultType="TamperAndHijack">
            Select *
            from tamper_hijack 
            where 1 = 1
                <if test="map.dayKey !=null and map.dayKey !=''">
                    and dayKey = #{map.dayKey}
                </if>
                <if test="map.domains !=null">
                    and domain in 
                <foreach item="item" index="index" collection="map.domains" 
                    open="(" separator="," close=")">
                    #{item}
                </foreach>
                </if>
            order by id desc 
    </select>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值