Mybatis数组与集合作为参数条件执行

使用数组作为条件

    /**
     * 查询下拉框物品数据
	 * @return
	 */
	public List<CategoryGoods> queryGoodsForCombox(String [] cIds);
------------------------------------------------------------------------------------
    <!-- 查询下拉框物品数据-->
	<select id="queryGoodsForCombox"  parameterType="java.util.Arrays" 
			resultType="com.golconda.coreback.userGroup.entity.CategoryGoods">
		select g.goods_id as goodsId,g.goods_name as goodsName,g.category_name as categoryName
		from category_goods g 
		where g.category_id in 
		<foreach collection="cIds" item="item" index="index" open="(" separator="," close=")">
			#{item}
		</foreach>
	</select>
------------------------------------------------------------------------------------
public List<BnoCallRateVo> queryNowadayBnoCallRate(@Param("channels") String[] channels);
------------------------------------------------------------------------------------
	<select id="queryNowadayBnoCallRate" resultType="com.golconda.dataAnalysis.bnoCallRate.vo.BnoCallRateVo" parameterType="java.lang.String">
		select  
			nvl(o.channel,'全部') as channel,
	        orderAmount as orderAmount,
	        bnoAmount as bnoAmount,
		    round(decode(o.bnoAmount, 0, 0, o.bnoAmount / o.orderAmount),2) * 100 || '%' as rate
		from (
				select 
						get_channel_name(t.order_channel )  channel,  
						count(1) orderAmount,
						sum(nvl2(t.bno, 1, 0)) bnoAmount
				from    orders t
				where
						<if test="channels.length > 0">
						t.order_channel in
						<foreach collection="channels" item="item" index="index" 
							open="(" separator="," close=")">
							#{item}
						</foreach>
							and
						</if>
				t.create_tm >= to_date(to_char(sysdate, 'yyyy-mm-dd') || ' 00:00:00', 'yyyy-mm-dd hh24:mi:ss')
				and t.status not in (2, 7, 8)
				group by rollup(t.order_channel)
		) o
	</select>
-------------------------------------------------------------------------------------

    /**
     * 批量删除调度日志信息
     * 
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    public int deleteJobLogByIds(String[] ids);

-------------------------------------------------------------------------------------

    <delete id="deleteJobLogByIds" parameterType="java.lang.String">
        delete from sys_job_log where job_log_id in
        <foreach collection="ids" item="jobLogId" open="(" separator="," close=")">
            #{jobLogId,jdbcType=NUMERIC}
        </foreach> 
    </delete>

使用集合作为条件


    /**
     * @Title: deleteByIds
     * @Description: 批量删除
     * @param list
     * @return int 返回类型
     */
    int deleteByIds(List<Long> list);
-------------------------------------------------------------------------------------
    <delete id="deleteByIds" parameterType="java.lang.Long" >
        delete from PICTURE_CONFIG
        where ID in
         <foreach collection="list" item="id" open="(" close=")" separator=",">
                #{id}
         </foreach>
    </delete>


		<update id="batchUpdateReceives" parameterType="java.util.List">
			<foreach collection="list" item="list" index="index" open="begin"
				close=";end;" separator=";">
				update alipay_user
				set COLLECTION_STATISTICS =NVL(COLLECTION_STATISTICS,0)+#{list.parm1},update_tm=sysdate
				where alipay_uid = #{list.alipayId} 
			</foreach>
		</update>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值