Mybatis<collection>实现一对多

时隔多年又用到这样的查询方式了,提前声明一下分页最后返回的数据会小于每页条数,废话不多说直接上代码!

@Data
public class PbcUserTargetTaskPageVO {@ApiModelProperty("个人绩效指标id")private Long id;@ApiModelProperty("月份")private String month;@ApiModelProperty("工号")private String employeeNo;@ApiModelProperty("姓名")private String employeeName;@ApiModelProperty("月份")private String oraName;@ApiModelProperty(value = "目标")private BigDecimal goal;@ApiModelProperty(value = "绩效指标")private String targetName;@ApiModelProperty(value = "个人绩效指标关键任务")private List<PbcKeyTaskVO> taskList;
}
@Data
public class PbcKeyTaskVO {@ApiModelProperty(value = "主键id")private Long id;@ApiModelProperty(value = "任务编码")private String code;@ApiModelProperty(value = "任务名称")private String name;@ApiModelProperty(value = "任务类型")private String type;@ApiModelProperty(value = "任务描述")private String detail;@ApiModelProperty(value = "创建人工号")private String createBy;@ApiModelProperty(value = "创建人名字")private String createName;@ApiModelProperty(value = "创建时间")private String createTime;@ApiModelProperty(value = "是否关联绩效指标任务 Y=已关联,N=未关联")private String isRelated;
}
public interface PbcUserTargetTaskMapper extends BaseMapper<PbcUserTargetTask> {Page<PbcUserTargetTaskPageVO> pageList(Page page, PbcUserTargetTaskPageRequest dto);
}
    <!-- 通用查询映射结果 --><resultMap id="PageResultMap" type="com.shinho.plrs.manager.pojo.vo.PbcUserTargetTaskPageVO"><id column="user_target_id" property="id" /><result column="month" property="month" /><result column="employee_no" property="employeeNo" /><result column="employee_name" property="employeeName" /><result column="oraName" property="oraName" /><result column="goal" property="goal" /><result column="targetName" property="targetName" /><!-- 配置一对多关联 --><collection property="taskList" ofType="com.shinho.plrs.manager.pojo.vo.PbcKeyTaskVO"><id property="id" column="task_id"/><result property="code" column="task_code"/><result property="name" column="task_name"/><result property="type" column="task_type"/><result property="detail" column="task_detail"/><result property="createTime" column="task_create_time"/></collection></resultMap><select id="pageList" resultMap="PageResultMap">SELECTa.id AS user_target_id,a.`user_number` AS employee_no,a.`name` AS employee_name,a.`position` AS position,d.ora_name AS oraName,a.`target_code`,e.`name` AS targetName,a.`goal`,a.`version_date` AS `month`,b.task_id,c.`code` AS task_code,c.`name` AS task_name,c.type AS task_type,c.detail AS task_detail,c.create_time AS task_create_timeFROMuser_target_result aLEFT JOIN pbc_user_target_task b ON a.version_date=b.`month` AND a.user_number=b.employee_no AND a.target_code=b.target_codeLEFT JOIN pbc_key_task c ON b.task_id=c.idLEFT JOIN assess_base_snapshot d ON a.version_date=d.`month` AND a.user_number=d.employee_no AND a.position=d.assess_position_nameLEFT JOIN plrs_target e ON a.target_code=e.`code`WHEREa.version_date = '2024-07'AND a.user_number = '21120060'AND ( d.ora_id = '01003403' OR locate('01003403',d.ora_parent_group ) > 0)ORDER BY a.user_number DESC</select>

这里就知道了,一页10条,但是返回后有一条数据1v2,所以变成了9,前端页面会看起来很怪就会有问题,这是只有一个,如果一对10那一页就只返回了一条数据。这种查询不适合用于分页查询!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/3248571.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

大模型中的采样(Sampling)选择机制详解

大模型中的采样选择机制详解 在自然语言处理&#xff08;NLP&#xff09;和生成模型&#xff08;如GPT&#xff09;中&#xff0c;采样选择机制是一种从模型的概率分布中选择词的方法&#xff0c;用于控制生成文本的多样性和质量。本文将详细介绍几种经典的采样选择机制&#…

计算机毕业设计-基于Springboot的养老院管理系统-源码程序文档

项目源码&#xff0c;请关注❥点赞收藏并私信博主&#xff0c;谢谢~ 本系统开发采用技术为JSP、Bootstrap、Ajax、SSM、Java、Tomcat、Maven 此文章为本人亲自指导加编写&#xff0c;禁止任何人抄袭以及各类盈利性传播&#xff0c; 相关的代码部署论文ppt代码讲解答辩指导文件…

怎么将图片插入excel单元格中

首先选中单元格选择插入 在图片位置选择插入图片的位置 然后就插入成功了&#xff0c;一开始会觉得图片是附在表格上面的&#xff0c;并不在单元格里面&#xff0c;但是右边有一个小图片的图标&#xff0c;点击它可以缩小到单元格里面&#xff0c;再点击就是放大&#xff1b;

Redis中数据分片与分片策略

概述 数据分片是一种将数据分割并存储在多个节点上的技术&#xff0c;可以有效提高系统的扩展性和性能。在Redis中&#xff0c;数据分片主要用于解决单个实例存储容量和性能瓶颈的问题。通过将数据分散存储到多个Redis节点中&#xff0c;可以将负载均衡到不同的服务器上&#…

Qt5.12.2安装教程

文章目录 文章介绍下载连接安装教程 文章介绍 安装Qt5.12.2 下载连接 点击官网下载 安装包下载完毕 安装教程 点开设置&#xff0c;添加临时储存库&#xff0c;复制连接“https://download.qt.io/online/qtsdkrepository/windows_x86/root/qt/” 点击测试&#xff0…

NetSuite Item Receipt的头行To Location字段设置

最近用户有碰到一个问题是说&#xff0c;在没有转移或者调整&#xff0c;发出货品的情况下&#xff0c;为什么在Item Receipt上明明写的是Location A&#xff0c;而对应的库存却到了Location B中呢&#xff1f;有点奇怪&#xff0c;查明原因后是与To Location的头行设置与改动相…

Stable Diffusion【艺术风格】:当游戏角色遇上古代纸莎草纸艺术

提示词[character] as Oni demon | full body | ancient papyrus art | Goryeo blueprint mapping[角色] 饰演 Oni demon |全身 |古代纸莎草纸艺术 |高丽蓝图映射** 纸莎草纸艺术**通常指的是古埃及时期使用纸莎草纸进行书写和绘画的艺术形式。纸莎草纸&#xff08;Papyrus&…

【数据结构】Splay详解

Splay 引入 Splay旋转操作splay操作插入操作查询x排名查询排名为x删除操作查询前驱/后继模板Splay时间复杂度分析 进阶操作截取区间区间加&#xff0c;区间赋值&#xff0c;区间查询&#xff0c;区间最值区间翻转原序列整体插入指定位置插入整体插入末尾区间最大子段和 一些好题…

学会这个技巧,电子画册制作从此不再难

​在数字化时代&#xff0c;电子画册作为一种新型的宣传和展示工具&#xff0c;已经越来越受到企业和个人的青睐。它不仅能够以生动活泼的形式展示内容&#xff0c;还能够实现高度的互动性和分享性&#xff0c;从而大大提高信息的传播效率。然而&#xff0c;制作一款精美且功能…

【机器学习】机器学习与图像分类的融合应用与性能优化新探索

文章目录 引言第一章&#xff1a;机器学习在图像分类中的应用1.1 数据预处理1.1.1 数据清洗1.1.2 数据归一化1.1.3 数据增强 1.2 模型选择1.2.1 卷积神经网络1.2.2 迁移学习1.2.3 混合模型 1.3 模型训练1.3.1 梯度下降1.3.2 随机梯度下降1.3.3 Adam优化器 1.4 模型评估与性能优…

GESP CCF C++ 七级认证真题 2024年6月

第 1 题 下列C代码的输出结果是&#xff08; &#xff09;。 #include <iostream> #include <cmath> using namespace std; int main() { cout << sin(3.1415926 / 2); return 0; } A. 0 B. 1 C.0.5 D.0.7071 第 2 题 对于如下图的二叉树&#x…

【免费】中国电子学会所有历年真题卷全部免费

今天登录到csdn 遇到一件非常气愤的事情 原本就是电子学会网站的试卷 某些博主为了赚那么点钱 真的是不要Face了 之前没有放开资源 是因为懒得整理 为了这个不要face 花了我一下午时间把所有的资源整合在一起 现在全部拿走 全部免费&#xff01;全部免费&#xff01;全…

【网络】掌握网络基础概念

文章目录 OSI七层模型TCP/IP五层&#xff08;或四层&#xff09;模型为什么要有TCP/IP协议网络传输的基本流程网络传输流程图数据包封装和分用 网络中的地址管理IP地址Mac地址比较IP地址和Mac地址 OSI七层模型 OSI即Open System Interconnection,开发系统互连。OSI七层模型是一…

ABAP 物料主数据屏幕增强记录

参考文章&#xff1a;https://zhuanlan.zhihu.com/p/692818545 先从SPRO进入——》SAP 参考IMG——》后勤_常规——》物料主数据——》配置物料主记录——》创建定制子屏幕的程序 然后会让你创建一个函数组,此处命名为ZTEST2 &#xff08;后面才发现这张图截图不对&#xf…

昇思25天学习打卡营第13天|LLM-基于MindSpore实现的GPT对话情绪识别

打卡 目录 打卡 预装环境 流程简述 部分执行结果演示 词向量加载过程 模型结构 模型训练过程 模型预测过程 代码 预装环境 pip install -i https://pypi.mirrors.ustc.edu.cn/simple mindspore2.2.14 pip install mindnlp pip install jieba pip install spacy pip …

Typescript 实现倒计时功能 useCountdown

效果图 代码块 useCountdown.ts import {onUnmounted, reactive, ref, watch} from "vue";type union days | hours | minutes | seconds | millisecondsexport type Remains Record<union, number>;/*** 创建一个倒计时** 用法*/ export const useCountDo…

Python酷库之旅-第三方库Pandas(029)

目录 一、用法精讲 74、pandas.api.interchange.from_dataframe函数 74-1、语法 74-2、参数 74-3、功能 74-4、返回值 74-5、说明 74-6、用法 74-6-1、数据准备 74-6-2、代码示例 74-6-3、结果输出 75、pandas.Series类 75-1、语法 75-2、参数 75-3、功能 75-4…

C语言函数:编程世界的魔法钥匙(2)

引言 注&#xff1a;由于这部分内容比较抽象&#xff0c;而小编我又是一个刚刚进入编程世界的计算机小白&#xff0c;所以我的介绍可能会有点让人啼笑皆非。希望大家多多包涵&#xff01;万分感谢&#xff01;待到小编我学有所成&#xff0c;一定会把这块知识点重新介绍一遍&a…

【JAVA基础】反射

编译期和运行期 首先大家应该先了解两个概念&#xff0c;编译期和运行期&#xff0c;编译期就是编译器帮你把源代码翻译成机器能识别的代码&#xff0c;比如编译器把java代码编译成jvm识别的字节码文件&#xff0c;而运行期指的是将可执行文件交给操作系统去执行&#xff0c; …

Linux介绍和文件管理

一Linux的起源 1.Unix Dennis Ritchie和Ken Thompson发明了C语言&#xff0c;而后写出了Unix的内核 2.Minix MINIX是一种基于微 内核架构的类UNIX计算机操作系统&#xff0c;由 Andrew S. Tanenbaum发明 3.Linux内核 芬兰赫尔辛基大学的研究生Linus Torvalds基于Gcc、 ba…