首页 > 其他分享 >MybatisPlus的association 属性及案例

MybatisPlus的association 属性及案例

时间:2023-08-04 15:55:21浏览次数:37  
标签:raw code MybatisPlus name item 案例 dict unit association

   <select id="getMatUnitList" resultMap="matUnitVOMap">
        SELECT
        a.CODE,
        a.min_pack_unit,
        a.tenant_id,
        c.item_text unitName
        FROM
        mdm_mat a
        LEFT JOIN sys_dict_item c ON a.unit = c.item_value
        AND c.dict_code = 'unit'
        <where>
            <if test="codes != null and codes.size()>0">
                a.code IN
                <foreach item="item" index="index" collection="codes" open="(" close=")" separator=",">
                    #{item}
                </foreach>
            </if>
        </where>
    </select>

SQL2:

    <resultMap id="matUnitVOMap" type="com.donger.mom.mdm.app.material.dto.MatUnitVO">
        <result property="code" column="code"/>
        <result property="minPackUnit" column="minPackUnit"/>
        <result property="unitName" column="unitName"/>
        <result property="unitByManufacture" column="unitByManufacture"/>
        <result property="unitByStock" column="unitByStock"/>
        <result property="unitByPurchase" column="unitByPurchase"/>
        <result property="unitByRetail" column="unitByRetail"/>
        <result property="unitBySale" column="unitBySale"/>
        <result property="tenantId" column="tenant_id"/>
        <association property="mdmMatRaw" javaType="com.donger.mom.mdm.infrastructure.mysql.entity.MdmMat"
                     select="selectMdmMatRaw" column="{code=code,tenantId=tenant_id}"/>
        <collection property="ratio" ofType="com.donger.mom.mdm.infrastructure.mysql.entity.MdmMatUnit"
                    select="selectRatioList" column="code">

        </collection>
    </resultMap>

SQL3:

 <select id="selectMdmMatRaw" resultType="com.donger.mom.mdm.infrastructure.mysql.entity.MdmMat">
        SELECT raw.`code`,
               raw.`name`,
               cat.`name`  category,
               b.item_text unit,
               d.item_text typeName,
               raw.brand,
               raw.invoice,
               raw.specification,
               raw.min_pack_unit,
               raw.min_safe_stock,
               raw.max_safe_stock,
               raw.is_fifo,
               raw.pricing_method,
               raw.remark,
               raw.shelf_life,
               raw.lead_time,
               raw.create_by,
               raw.create_by_name,
               raw.create_time,
               raw.update_by,
               raw.update_by_name,
               raw.update_time,
               raw.safety_stock_alarm,
               raw.expiry_date_alert,
               raw.sluggish_material_alarm,
               raw.push_flag,
               raw.push_time,
               raw.is_batch
        FROM mdm_mat raw
                 LEFT JOIN mdm_mat_cat cat on raw.category = cat.id
                 LEFT JOIN sys_dict_item b ON raw.unit = b.item_value and b.dict_code = 'unit'
                 left join sys_dict_item d on raw.material_type = d.item_value and d.dict_code = 'matClass'
          where raw.code = #{code} and raw.tenant_id = #{tenantId}
    </select>

在这里我们要知道的是 association 的用法以及传递多个参数的写法,我这里遇到的问题是多租户要求时,我没有往里面传递租户ID导致查询出来的结果和预期不一致,

这里用到了多个参数的传递。

标签:raw,code,MybatisPlus,name,item,案例,dict,unit,association
From: https://www.cnblogs.com/Galaxy1/p/17578613.html

相关文章

  • 记一次MySQL崩溃修复案例,再也不用删库跑路了
    大家好,我是冰河~~今天给大家带来一篇MySQL数据库崩溃的修复案例,废话不多说,我们直接上正文,走起~~问题描述研究MySQL源代码,调试并压测MySQL源代码时,MySQL崩溃了!问题是它竟然崩溃了!而且还损坏了InnoDB文件!!还好是在调试环境下发生的,赶紧看看如何解决这个问题,经过一系列的查阅资料、验证......
  • 视频融合平台视频汇聚平台LiteCVR接入协议通道播放失败反馈处理案例
    我们近期正在整理以前到近期的用户反馈,今后将陆续把已经整理好的案列以图文的形式分享给大家参考。有用户反馈称,在他们现场部署了LiteCVR平台后,NVR设备通过国标GB28181协议成功接入到LiteCVR。尽管设备和通道都显示为在线状态,但是他们发现部分通道的视频无法正常播放。因此,他们请求......
  • 案例7-Unittest测试框架定制
    需求描述假设由你们公司的已有一套前辈开发的基于unittest的测试框架,现在交由你进行维护。领导另外提出了一些新的需求,比如:为用例增加优先级功能bvt及p0-p2,并支持按优先级筛选用例。为用例添加状态功能,包括实现中、完成、废弃等,默认只运行完成的用例为用例添加负责人,并在......
  • PLC顺序控制指令的应用案例
    本节内容主要介绍程序控制指令中的顺序控制指令,该指令主要用于一些有明显的动作顺序控制,且包含一系列重复执行的操作时,就可以使用顺序控制指令,这样使程序更清晰,动作过程更好理解,也便于电气设计人员进行程序设计。顺序控制的程序设计一般会有多种不同的类型,在进行顺序控制......
  • Unity的IPreprocessShaders:深入解析与实用案例
    UnityIPreprocessShadersUnityIPreprocessShaders是Unity引擎中的一个非常有用的功能,它可以让开发者在编译Shader时自定义哪些操作需要被执行。这个可以帮助开发者更好地控制Shader的编译过程,确保在编译Shader时执行必要的操作。在本文中,我们介绍UnityIPreprocessShaders的使......
  • 【答疑】jsonpath和beanshell配合使用案例
    问题今天提升群小伙伴问了这样一个问题:接口返回如下(list元素个数不确定),需要提取所有的iautoid,然后用逗号拼接起来,如果是如下返回,需要得到的结果是1687283717749342208,1679392630364184576,后续请求需要使用{ "data":{ "firstPage":true, "lastPage":false, "list":......
  • ChatGPT 问答00011 Spring框架事件驱动使用案例
    以下是一个使用Spring框架的事件驱动机制的简单案例:定义事件类:publicclassOrderEventextendsApplicationEvent{privateOrderorder;publicOrderEvent(Objectsource,Orderorder){super(source);this.order=order;}public......
  • 【OpenHarmony内核编程接口】介绍定时器管理两种定时器以及案例演示
    前言本文介绍了内核编程接口之软定时器软定时器软定时器含义软件定时器(Timer),是基于系统时钟tick且由软件来模拟的定时器,当经过设定的tick计数值后会触发用户定义的回调函数ps1:定时器触发函数的执行,不是线程ps2:当定时器到期时,将执行回调函数以运行特定的代码ps3:定时精度......
  • 阿里云平台WoSign SSL证书应用案例
    沃通CA与阿里云达成合作并在阿里云平台上线WoSign品牌SSL证书。自上线以来,WoSignSSL证书成为阿里云“数字证书管理服务”热销证书产品,获得阿里云平台客户认可,助力阿里云平台政府、金融、教育、供应链、游戏等各类行业客户实现网站系统数据传输安全。WoSignSSL证书,行业客户信赖之......
  • 系统架构设计师笔记第43期:云原生架构案例分析
    云原生架构是一种软件架构和开发方法论,旨在利用云计算、容器化和微服务等技术,构建高度可伸缩、弹性和可靠的应用程序。它的设计理念是将应用程序与底层的基础设施解耦,以实现更高的灵活性、可维护性和可扩展性。云原生架构的核心特点包括:微服务架构:将应用程序拆分为一组小型、自治的......