栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

在Mapper.xml中使用mybatisplus的QueryWrapper

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

在Mapper.xml中使用mybatisplus的QueryWrapper

在xml中,要根据id批量查询,需要使用foreach循环collection,foreach的主要用在构建in条件中,它可以在SQL语句中进行迭代一个集合。

在mybatisPlus中,简便的做法:可以将queryWrapper作为参数传递到Mapper中

第一步:构建QueryWrapper对象,实质上通过in已经构建出了查询符合id的条件语句

 QueryWrapper queryWrapper = new QueryWrapper<>();
   queryWrapper.lambda().eq(OmsCartItem::getMemberId,currentMember.getId())
                .in(OmsCartItem::getId,paramDTO.getItemIds());
        // 根据购物车id查询所有购物车信息
List cartItemStockByIds = cartItemMapper.getCartItemStockByIds(queryWrapper);

第二步:在自定义xml查询 结合mp的Wrapper 来使用:把wrapper作为参数传递,注意添加注解@Param(Constants.WRAPPER) Wrapper

    
    List getCartItemStockByIds(@Param(Constants.WRAPPER) Wrapper ew);

第三步:通过${ew.customSqlSegment}可以获取mybatisPlus的条件构造器wrapper生成的条件语句,不需要动态拼接条件来筛选


    
        SELECT
        *,(SELECT stock-lock_stock FROM pms_sku_stock s WHERe  s.id=c.product_sku_id) as stock
        FROM oms_cart_item c
        ${ew.customSqlSegment}
    
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/686792.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号