美文网首页
02-注解开发

02-注解开发

作者: 紫荆秋雪_文 | 来源:发表于2021-08-13 10:03 被阅读0次

一、List

    @Select({
            "<script>",
            "SELECT * FROM t_purchase_order_bill_item WHERE deleted = 0 AND purchase_id IN",
            "<foreach collection='ids' item='id' open='(' separator=',' close=')'>",
            "#{id}",
            "</foreach>",
            "</script>"
    })
    List<PurchaseOrderBillItemEntity> selectBatchByPurchaseIds(@Param("ids") List<String> ids);
    @Delete({
            "<script>",
            "DELETE FROM t_attr_attrgroup_relation WHERE attr_group_id = #{attGroupId} AND attr_id IN",
            "<foreach collection='vos' item='id' open='(' separator=',' close=')'>",
            "#{id}",
            "</foreach>",
            "</script>"
    })

二、拼接SQL

@Select("<script> \n" +
            "SELECT DISTINCT morder.sn, morder.created_time, morder.shipping_name, morder.shipping_mobile, morder.shipping_country, morder.shipping_province, \n" +
            "morder.shipping_city, morder.shipping_district, morder.shipping_address, morder.shipping_user_address, morder.amount, morder.`status`\n" +
            "FROM m_order morder \n" +
            "LEFT JOIN m_order_sku sku \n" +
            "ON morder.sn = sku.order_sn \n" +
            "LEFT JOIN m_order_sub sub \n" +
            "ON sku.order_sub_sn = sub.sub_sn \n" +
            "<where> \n" +
            "<if test='orderQo.orderSn != null'> \n" +
            " and morder.paid_sn=#{orderQo.orderSn} \n" +
            "</if> \n" +
            "<if test='orderQo.userName != null'> \n" +
            " and morder.shipping_name=#{orderQo.userName} \n" +
            "</if> \n" +
            "<if test='orderQo.userMobile != null'> \n" +
            " and morder.shipping_mobile=#{orderQo.userMobile} \n" +
            "</if> \n" +
            "<if test='orderQo.payAccount != null'> \n" +
            " and morder.paid_merchant=#{orderQo.payAccount} \n" +
            "</if> \n" +
            "<if test='orderQo.orderType != null'> \n" +
            " and morder.order_type=#{orderQo.orderType} \n" +
            "</if> \n" +
            "<if test='orderQo.platformSource != null'> \n" +
            " and morder.platform_source=#{orderQo.platformSource} \n" +
            "</if> \n" +
            "<if test='orderQo.paidType != null'> \n" +
            " and morder.paid_type=#{orderQo.paidType} \n" +
            "</if> \n" +
            "<if test='orderQo.paidSn != null'> \n" +
            " and morder.sn=#{orderQo.paidSn} \n" +
            "</if> \n" +
            "<if test='orderQo.createTimeStart != null'> \n" +
            " and morder.created_time &gt;= #{orderQo.createTimeStart} \n" +
            "</if> \n" +
            "<if test='orderQo.createTimeEnd != null'> \n" +
            " and morder.created_time &lt;= #{orderQo.createTimeEnd} \n" +
            "</if> \n" +
            "<if test='orderQo.payTimeStart != null'> \n" +
            " and morder.paid_time &gt;= #{orderQo.payTimeStart} \n" +
            "</if> \n" +
            "<if test='orderQo.payTimeEnd != null'> \n" +
            " and morder.paid_time &lt;= #{orderQo.payTimeEnd} \n" +
            "</if> \n" +
            "<if test='orderQo.amountStart != null'> \n" +
            " and morder.amount &gt;= #{orderQo.amountStart} \n" +
            "</if> \n" +
            "<if test='orderQo.amountEnd != null'> \n" +
            " and morder.amount &lt;= #{orderQo.amountEnd} \n" +
            "</if> \n" +
            "<if test='orderQo.name != null'> \n" +
            " and sku.spu_name=#{orderQo.name} \n" +
            "</if> \n" +
            "<if test='orderQo.goodsId != null'> \n" +
            " and sku.spu_id=#{orderQo.goodsId} \n" +
            "</if> \n" +
            "<if test='orderQo.goodsCode != null'> \n" +
            " and JSON_CONTAINS(sku.goods_codes->'$[*].code', JSON_QUOTE(#{orderQo.goodsCode}), '$')" +
            "</if> \n" +
            "<if test='orderQo.supplierId != null'> \n" +
            " and sub.supplier_id = #{orderQo.supplierId} \n" +
            "</if> \n" +
            "<if test='orderQo.depotId != null'> \n" +
            " and sub.depot_id = #{orderQo.depotId} \n" +
            "</if> \n" +
            "</where> \n" +
            "<if test='page != null'> \n" +
            " LIMIT #{page} \n" +
            "</if> \n" +
            "<if test='size != null'> \n" +
            " , #{size} \n" +
            "</if> \n" +
            "</script>"
    )
    List<OrderListDto> fetchOrderList(@Param("page") int page, @Param("size") int size, @Param("orderQo") OrderQo orderQo);

相关文章

  • 02-注解开发

    一、List 二、拼接SQL

  • 注解开发

    注解开发1 配置文件 service注解 service注解开发时的引用对象代码 测试类 注解开发2 配置文件 s...

  • 七、Spring的Bean管理XML方式与注解方式比较

    XML 和注解: XML :结构清晰. 注解 :开发方便.(属性注入.)实际开发中还有一种 XML和注解结合开发:...

  • Android 注解检测、限制操作

    Android 开发中资源常量限制注解: Android开发中权限申请提示注解: 数值常量注解:

  • 105、【JavaEE】【Mybatis】注解开发

    1、概述 使用注解开发,就不需创建相应的映射配置文件。 注解开发、映射配置文件开发各有优劣。注解开发和 XML 配...

  • SSH框架之Spring进阶IOC注解开发(二)

    第一节:IOC的注解开发 1.1 Spring注解开发入门 在Spring4的版本中,若使用注解除了引入开发包以为...

  • Mybatis高级阶段

    Mybatis基于注解开发 这几年来注解开发越来越流行,Mybatis也可以使用注解开发方式,这样我们就可以减少编...

  • Spring-基础使用

    零、本文纲要 一、Spring基础 相关依赖 xml文件开发 半注解开发 纯注解开发 一、Spring基础 1. ...

  • spring mvc 父子容器

    看本文之前首先需了解 spring注解驱动开发。可以看另外一篇文章spring注解,本文是在spring注解开发的...

  • Java注解

    什么是注解 注解对于开发人员来讲既熟悉又陌生,熟悉是因为只要你是做开发,都会用到注解(常见的@Override);...

网友评论

      本文标题:02-注解开发

      本文链接:https://www.haomeiwen.com/subject/gwddbltx.html