MybatisPlus的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导致查询出来的结果和预期不一致,
这里用到了多个参数的传递。
MybatisPlus的association 属性及案例的更多相关文章
- 1.4.2 solr字段类型--(1.4.2.7)字段属性使用案例
1.4.2 solr字段类型 (1.4.2.1) 字段类型定义和字段类型属性. (1.4.2.2) solr附带的字段类型 (1.4.2.3) 使用货币和汇率 (1.4.2.4) 使用Dates(日期 ...
- mybatis框架-使用resultMap实现高级结果映射,association属性
需求:查询数特定角色下的所有用户列表 首先需要在在User类中引用Role类,因为引用了复杂的数据类型,所以要使用association属性进行映射,其实起主要作用的还是resultMap属性. /* ...
- HTML5新标签与特性---新表单+新属性----综合案例1
HTML5新标签与特性 兼容性问题 (ie9 以上的版本) 文档类型设定 document HTML: sublime 输入 html:4s XHTML: sublime 输入 html:xt HTM ...
- 【Web】block、inline、inline-block元素与background属性概述(案例实现社交账号注册按钮效果)
步骤三:社交账号注册按钮效果 文章目录 步骤三:社交账号注册按钮效果 案例的演示与分析 CSS属性与HTML标签 块级元素 内联元素 行内块级元素 CSS的display属性 CSS中的背景图片属性 ...
- 【已解决】SpringBoot + Mybatis-plus 实体类属性注解 @TableField 无法获取到数据库值(属性变量名带下划线)
问题描述: 实体类变量的命名格式 如果采用的是 XX_XX带下划线的形式,那么在低版本的mybatis-plus是不支持和数据库映射的. 如果是单个单词不存在这个问题,如果出现多个单词,尽量采用驼峰式 ...
- tomcat配置context的crossContext属性应用案例
在tomcat下,context元素有一个crossContext属性,如果配置为true,则可以实现在同一个tomcat下的多个web应用之间实现ServletContext对象访问.该属性主要用于 ...
- HTML5基础-新增标签+新增属性+布局案例
html5中常用的结构标签 article 文章 header 头部 nav 导航 section 区域 aside 侧边栏 hgroup 区块的相关信息 figure 定义一组内容及标题 figca ...
- javascrip总结42:属性操作案例: 点击盒子,改变盒子的位置和背景颜色
<!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="UTF-8& ...
- Android属性动画之ObjectAnimator
相信对于Android初学者,对于Android中的动画效果一定很感兴趣,今天为大家总结一下刚刚学到的属性动画案例. 首先和一般的Android应用一样,我们先建一个工程,为了方便,我们的布局文件中就 ...
- powerdsigner Association Multiplicity
这一篇來告诉一个不容易分辨的关系图式:Association(结合)的各种類型,除了了解它的涵义 外,也让各位可以看图說故事,知道它背后所要表达的意义. Association结合 Associati ...
随机推荐
- CSS隐藏元素的方法
CSS隐藏元素的方法 使用CSS隐藏元素的主要方式有diaplay: none;.opacity: 0;.visibility: hidden;.position: absolute; overflo ...
- GDI实现透明菜单位图
case WM_CONTEXTMENU: { m_hMenu = CreatePopupMenu(); g_BitMap = (HBITMAP)LoadImage(NULL, L"1.bmp ...
- java轻量级规则引擎easy-rules使用介绍
我们在写业务代码经常遇到需要一大堆if/else,会导致代码可读性大大降低,有没有一种方法可以避免代码中出现大量的判断语句呢? 答案是用规则引擎,但是传统的规则引擎都比较重,比如开源的Drools,不 ...
- Java JVM——7.本地方法栈
本地方法栈 Java虚拟机栈于管理Java方法的调用,而本地方法栈用于管理本地方法的调用. 本地方法栈,也是线程私有的. 允许被实现成固定或者是可动态扩展的内存大小.(在内存溢出方面是相同的) ✎ 如 ...
- Jetpack Compose(1) —— Android 全新的 UI 框架
写在前面 Jetpack Compose 已经不是什么新技术了,Google 早在 2019 年就推出 Jetpack Compose 的首个 alpha 版本,时至今日,相当大比例的国内 Andro ...
- Django重点
Django 简述python三大主流web框架 """ django 大而全,类似于航空母舰 但是有时候过于笨重 flask 小而精,类似于游骑兵(单行代码就可以起一个 ...
- EXE程序缺DLL怎么办
起因 工程师发给用户一个VS编译的windows应用程序,客户反应打不开,报缺少dll.可是dll明明就在当前目录啊,为什么还会报错呢? 那应该是该DLL依赖的其它DLL不存在导致的,用depends ...
- 【Azure 应用服务】应用代码中需要使用客户端证书访问服务接口,部署在应用服务后报错不能找到证书(Cannot find the X.509 certificate)
问题描述 在应用中,需要访问另一个服务接口,这个接口需要使用客户端证书进行认证.在代码中使用 System.Security.Cryptography.X509Certificates 加载Windo ...
- STL-unordered_map,unordered_set模拟实现
unordered_set #pragma once #include"28hashtable_container.h" namespace test { //template & ...
- 【项目实战】SpringBoot+vue+iview打造一个极简个人博客系统
基于SpringBoot+vue+iview个人极简博客 项目介绍 个人极简博客 [个人极简博客]是一个适用于初学者学习的博客系统,其中包含文章分类.写文章.标签管理.用户管理等基础功能,代码简洁注释 ...