看到标题可能大家有些蒙圈,其实意思就是,一对多的封装的时候,在多的一方,仅有一个字段时候的封装,如下实体类

package com.jovision.mix.upms.service.model;import com.baomidou.mybatisplus.annotation.*;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;import java.util.Date;
import java.util.List;/*** 基础数据中心-角色** @author jcc@jovision.com* @date 2020/11/16*/
@Data
@TableName(value = "upms_role")
@AllArgsConstructor
@NoArgsConstructor
public class Role {@TableId(value = "id", type = IdType.ASSIGN_ID)private String id;/*** 角色名称*/@TableField(value = "name")private String name;/*** 用户id集合*/@TableField(exist = false)private List<String> userIdList;/*** @Author FL* @Date 11:44 2021/7/15* @Param [id, name, userIdList] 角色id  角色名称  用户id集合**/public Role(String id, String name, List<String> userIdList) {this.setId(id);this.setName(name);this.setUserIdList(userIdList);}
}

用户id集合,我就想一对多封装的时候,一次性查出来,该怎么写呢?

直接上代码,完整的xml编码

<resultMap id="roleMap" type="com.jovision.mix.upms.service.model.Role"><result column="id" property="id"/><result column="name" property="name"/><collection property="userIdList" ofType="java.lang.String"><constructor><arg column="user_id"/></constructor></collection></resultMap><select id="queryExpiredRoleUserId" resultMap="roleMap">SELECT r.`id`,r.`name`,rel.`user_id`FROM `upms_role` rLEFT JOIN upms_user_role_rel  rel ON r.id = rel.`role_id` AND rel.`delete_status` = 0LEFT JOIN `upms_user` u ON u.`id` = rel.`user_id` AND u.`delete_status`=0WHERE r.`delete_status` = 0 AND r.expire_date <![CDATA[<]]>  NOW() AND r.`expire_date` >   DATE_SUB(CURDATE(),INTERVAL 1 DAY)</select>

其中,重点在

<collection property="userIdList" ofType="java.lang.String"><constructor><arg column="user_id"/></constructor></collection>

只要这样就ok了,搞定了.
查询的结果如是

[{"userIdList":["1410196826816090113","1415885137173929985"],"name":"暂无语音对讲","id":"1410196578928529409"}
]
``

2021-07-27 mybatis 一对多封装进阶 (单字段/单属性封装)相关推荐

  1. 把一些表单属性封装一个JSON

    <!doctype html> <html> <head><meta charset="UTF-8"><title>把一 ...

  2. 15、mybatis一对多关联查询 collection定义关联集合封装规则及懒加载

    文章目录 1.collection定义关联集合封装规则单步查询 1).Dept增加集合属性 2).DeptMapper增加查询接口 3).DeptMapper.xml增加collection配置 4) ...

  3. ffmpeg之mp4文件解封装截取一段视频并重封装

    #include <iostream> #include <fstream> #include <thread>extern "C"{#incl ...

  4. mybatis 一对多查询 按结果嵌套处理、按查询嵌套处理,以及两者之间的区别

    mybatis 一对多查询 按结果嵌套处理.按查询嵌套处理 最近用到一对多查询,记录一下 实体类 public class RegionEntity implements Serializable { ...

  5. 2021.09.27 MySQL笔记

    2021.09.27 MySQL笔记 文章目录 2021.09.27 MySQL笔记 一.展示当前存在的所有数据库 二.使用(选中)一个数据库 三.创建一个数据表 四.查询并展示该数据库内的所有数据表 ...

  6. 3.SpringBoot整合Mybatis(一对多)

    前言: Mybatis一对多的处理关系: 一个人有好多本书,每本书的主人只有一个人.当我们查询某个人拥有的所有书籍时,就涉及到了一对多的映射关系. 一.添加数据表: 1 CREATE TABLE `b ...

  7. JAVA新能源汽车故障分析2021计算机毕业设计Mybatis+系统+数据库+调试部署

    JAVA新能源汽车故障分析2021计算机毕业设计Mybatis+系统+数据库+调试部署 JAVA新能源汽车故障分析2021计算机毕业设计Mybatis+系统+数据库+调试部署 本源码技术栈: 项目架构 ...

  8. 一周信创舆情观察(2021.12.27~2022.1.3)

    一.一周舆情要点 2021年12月24日,<中华人民共和国科学技术进步法>修订通过,其中第九十一条明确:对境内自然人.法人和非法人组织的科技创新产品.服务,在功能.质量等指标能够满足政府采 ...

  9. 新手如何理解一个Web应用的构建(2021.07.29更新)

    Web应用构建 ==前言== 我为什么写这篇文章? 适合什么样的人看? ==摘要== 步骤汇总 (1)网站定位与功能设定 (2)信息架构 (3)UI设计 (4)应用架构 (5)开发 (6)部署 (7) ...

最新文章

  1. 第四范式完成C轮融资,金额超10亿元
  2. R语言可视化散点图(scatter plot)图、为图中的部分数据点添加标签、ggrepel包来帮忙
  3. JS大宗师Douglas新书即将开印,就差一个书名了
  4. Linux curl API 使用 C语言
  5. 尚硅谷图解Java数据结构和算法四
  6. jquery radio取值,checkbox取值,select取值,radio选中,checkbox选中,select选中,及其相关...
  7. 全国计算机等级考试题库二级C操作题100套(第54套)
  8. python类之高级应用
  9. C++——random库中的uniform_int_distribution
  10. windows server 2012/2016 开启桌面图标
  11. 修复群集无法切换磁盘问题
  12. linux生成手机号码字典,Linux下的字典生成工具Crunch 创造自己的专属字典
  13. 51cto shell mysql备份数据库_shell脚本备份MYSQL数据库
  14. 2018/7/18 HDU 5294 Tricks Device 最短路建图+最小割 训练日记2
  15. CTGU 2021春-MySQL数据库实验2:基本查询1-2关,共10小题全代码+信息表+通关截图!
  16. 人工智能专题讲学:开源数据支撑下的人物与装备分析
  17. 三星手机S8曝光 新机发布或推迟
  18. 用java在画布上画心形线_Java画心形线
  19. Java好学吗?现在待遇如何?
  20. java-php-python-ssm-旅游系统-计算机毕业设计

热门文章

  1. 小程序生成分享海报图片并保存相册
  2. java undertow_java – 如何在Undertow中处理HTTP方法?
  3. 海阳最新计算机招聘信息,海阳找工作|海阳人才网|海阳全职招聘信息-烟台58同城...
  4. JAVA开发环境配置
  5. 小米澎湃,性能几何?浅谈版本的性能表现对比
  6. python3 - 使用 jieba3k 对直播平台房间标题进行分词
  7. Hive详细介绍及简单应用
  8. JQueryAjax
  9. HTML+CSS网页设计期末课程大作——体育拳击(5页)
  10. CAS、volatile、synchronized