IBatis.Net中既有In查询又有其他参数传入,怎么办

1.先扩展一个参数实体:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace MyDemo.com.Model
{
    public class ParameterClassEx
    {
        public string field1 { get; set; }
        public string[] ArrValue { get; set; }
    }
}
2.IBatis配置文件参数文件编写
 <typeAlias alias="ParameterClassEx" type="MyDemo.com.Model.ParameterClassEx,MyDemo.com.Model"/>
3.IBatis配置文件操作文件编写
<!--删除我的购物车(主表)-->
    <delete id="DeleteShopCartByIDs" parameterClass="ParameterClassEx">
      <![CDATA[Delete From Shop_ShoppingCart Where UserID=#field1# and ShopCartID in ]]>     
      <iterate open="(" close=")" conjunction="," property="ArrValue" >
          #ArrValue[]#
      </iterate>      
    </delete>
    <!--删除我的购物车(明细)-->
    <delete id="DeleteShopCartPaperDetailByIDs" parameterClass="ParameterClassEx">
      <![CDATA[Delete From Shop_ShoppingCartPaperDetail Where ShopCartID in ]]>
      <iterate open="(" close=")" conjunction="," property="ArrValue" >
        #ArrValue[]#
      </iterate>
    </delete>

4.业务逻辑层C#:

 public string DeleteShoppingCarts(ParameterClassEx shopCartIDs)
        {
            string resultMsg = "";
            ISqlMapper iSqlMapper = Mapper.Instance();
            if (iSqlMapper != null)
            {
                iSqlMapper.BeginTransaction();
                try
                {
                    iSqlMapper.Delete("DeleteShopCartByIDs", shopCartIDs);
                    iSqlMapper.Delete("DeleteShopCartPaperDetailByIDs", shopCartIDs);
                 

                    iSqlMapper.CommitTransaction();
                    resultMsg = "删除购物车成功!";
                }
                catch (Exception exp)
                {
                    resultMsg = exp.ToString();
                    iSqlMapper.RollBackTransaction();
                }
            }
            return resultMsg;
        }





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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值