mybatis 嵌套查询,一对多

mybatis注解开发 一对多嵌套查询 一个class中有许多student,属于一对多关系。本文利用mybatis注解,嵌套查询方式来实现一对多查询,在根据classId查询class时,顺便查询并展示出class中的student student实体类 package com.itheima.dao; public class StudentDao { private Integer id; private String name; private Integer age; private Integer. 阅读详情
最近在做项目时,需要用到mybaits 嵌套查询,什么意思呢,比如个人信息,中包含复杂对象地址,并且是一对多,我想查询个人信息
同时带出地址信息,
这个之前写过,但mybatis的语法老是忘记,今天写个博客,记录下,好记性不如烂笔头,先简单写一版本,晚上继续润色下。
一下是sqlmap 内容,这里做下解释:
<collection property="subChapter" column="{id=id,COURSE_ID=COURSE_ID}" select="selectSubChapter" />
这行表示需要嵌套查询的配置,javabean中的属性是: subChapter,并且是集合类型,
column="{id=id,COURSE_ID=COURSE_ID}"
这个是子查询传递的参数,这个例子是多参数传递,如果是单个参数可以
column="id",先写到这里。(单个参数不需要花括号)

如果返回的是单个对象,即一对一,应该这么写:
<association 
 property="subChapter" column="{id=id,COURSE_ID=COURSE_ID}" select="selectSubChapter" />
<!--以上是说明-->
 


<!--此处是代码mybatis 代码片段-->

<select id="searchTCourseChapterByParams" parameterType="map" resultMap="TCourseChapterMap"> SELECT <include refid="TCourseChapterBaseColumnSql"/> FROM t_course_chapter <include refid="TCourseChapterBaseWhereSql"/></select><select id="selectSubChapter" parameterType="map" resultMap="subChapterMap"> SELECT <include refid="TCourseChapterBaseColumnSql"/> FROM t_course_chapter WHERE COURSE_ID=#{COURSE_ID} and PARENT_ID=#{id}</select>

<resultMap type="cn.skillbridge.model.course.vo.TCourseChapterVo" id="TCourseChapterMap">
    <id column="ID" property="id"/>
    <result column="NAME" property="name"/>
    <result column="COURSE_ID" property="courseId"/>
    <result column="PARENT_ID" property="parentId"/>
    <result column="FREE" property="free"/>
    <result column="SERIAL" property="serial"/>
    <result column="VEDIO_CODE" property="vedioCode"/>
    <result column="DURATION" property="duration"/>
    <result column="CREATE_DATE" property="createDate"/>
    <result column="UPDATE_DATE" property="updateDate"/>
    <result column="C_USER_ID" property="CUserId"/>
    <result column="M_USER_ID" property="MUserId"/>
<!--
这行表示需要嵌套查询的配置,javabean中的属性是: subChapter,并且是集合类型,
--> <collection property="subChapter" column="{id=id,COURSE_ID=COURSE_ID}" select="selectSubChapter" />
</resultMap>
<resultMap type="TCourseChapter" id="subChapterMap">
<id
column="ID" property="id"/>
<result
column="NAME" property="name"/>
<result
column="COURSE_ID" property="courseId"/>
<result
column="PARENT_ID" property="parentId"/>
<result
column="FREE" property="free"/>
<result
column="SERIAL" property="serial"/>
<result
column="VEDIO_CODE" property="vedioCode"/>
<result
column="DURATION" property="duration"/>
<result
column="CREATE_DATE" property="createDate"/>
<result
column="UPDATE_DATE" property="updateDate"/>
<result
column="C_USER_ID" property="CUserId"/>
<result
column="M_USER_ID" property="MUserId"/>
</resultMap>


书面排版比较乱,见谅,哈哈哈。。。

Windows环境下ABAQUS、Fortran 编译器及Visual Studio的安装和关联 点击Continue,在随后的弹窗中勾选accept,并点击Customize(注意,在接下来的安装图片中,显示的版本号是2024.2,图片来自于一次失败的安装,懒得再截图了,步骤毫无区别,请见谅)。在下一步中,保持默认选项,之后软件会自动关联到刚才安装到visual studio,随后下一步进行安装(如果电脑中已经安装有其他版本的visual studio,则只保留2022)。在随后的弹窗中,根据指示找到。以防万一,尽量暂时退出所有杀毒软件,关闭防火墙,一般不会有影响,为确保万无一失,可以执行此步。 阅读详情

相关推荐

如何在STM32上5分钟搞定nanopb协议传输?附完整代码示例

本文提供了在STM32微控制器上快速集成nanopb协议传输的实战指南。通过详细的步骤,从.proto文件定义、代码生成到STM32CubeIDE项目移植,帮助开发者利用nanopb这一轻量级Protocol Buffers C语言实现,在5分钟内构建高效、跨平台的嵌入式设备通信框架,并附有完整的代码示例。

jwt8token的博客 839

Mybatis中实现递归查询

在Mybatis中实现递归查询,父类嵌套子类 xml: 这里注意 <collection column="{id=id,robotIp=robot_ip}" property="children" ofType="com.yuneasy.robort.vo.showEntity.StringTree" select="selectByAreaPidTwo2"> &lt...

gw的博客 2187

AGX Orin设计-外围电路设计之一

AGX ORIN是英伟达Jetson系列中算力规格最高端的模组,其高达200TOPS/275TOPS的算力可以为各类场景提供澎湃的算力支持,本篇文章针对AGX ORIN的常规外围电路设计做分析描述。

zhiyuchenkeji的博客 4479

mybatis,collection,column

关于使用mybatis的collection实现一对多映射, 大多数文章里面都是column="{id=ID}"这种格式。 如果目标查询传入参数是复杂的POJO对象则不会有问题,但若目标查询传入参数是POJO的某个属性(比如 id)怎么办? column="{ID}" 这样写就可以了。 ...

FeiRouBing的博客 718

EM算法求解混合伯努利模型

本文记录了EM算法求解混合伯努利分布的推导,并提供了matlab实验代码。

霁月难逢 彩云易散 6970

Cursor+Playwright MCP实现UI全自动化,告别繁琐元素定位!

摘要:本文探讨了利用Cursor和PlaywrightMCP实现UI自动化测试的创新方法。通过将AI编程助手与浏览器自动化技术结合,解决了传统UI自动化测试中元素定位繁琐、维护成本高等痛点。文章详细介绍了项目架构设计、AI使用技巧(包括精准提问和编写.mdc规则文档),以及如何实现自然语言测试用例到自动化脚本的转换。最终实现了测试人员只需输入手工测试步骤,AI即可自动生成完整测试代码的智能化流程,并展望了通过Excel表格一键生成测试用例的未来发展方向,为UI自动化测试提供了高效解决方案。

baidu_29774881的博客 2794

mybatis collection 关联查询多个参数

mybatis collection 关联查询多个参数 column="{evtId=id,businessType=businessType1}" 描述:evtId是关联查询的参数,businessType也是。 id是resultMap的id,businessType1也是如此 <resultMap id="BaseResultMap" type="com.kingdom.kdum.event.vo.event.EvtToDoListVO"> <id colum.

drhrht的博客 1268

Python爬取天天基金网历史数据

前言 最近开始学习基金????,感觉需要收集一些数据统计分析才靠谱????毕竟给A股交学费的感觉可不好受???? 网上有很多公开的数据,我这里选择的是天天基金网进行爬取 页面分析 接口我分析过了,有些验证不太好获取数据,所以直接从html提取 在天天基金网中随便选择一款基金,然后点击进入历史数据页面 容易定位出日增长率的css选择器 还有翻页按钮 程序编写 使用selenium打开chrome浏览器进行爬取,全代码如下 from selenium import webdriver from sel

JiajunBernoulli的博客 2950

Mybatis复杂查询(一对多)等2024-11-06

通过ResultMap标签,在标签里定义Collection标签 1、按查询嵌套处理 实际两条执行sql <select id="getTeacher2" resultMap="teacherStu2"> select * from teacher where id = #{id} </select> <resultMap id="teacherStu2" type="com.me.domain.Teacher2" >

我3的博客 363

ComfyUI中一个超好用的变量管理类节点-KJNodes

在AI绘图中,ComfyUI的热度开始慢慢起来一些,但是这个软件在使用的过程中,需要很多连线,仅仅一个最简单的动画生成,就需要连接这么多线条,而且有些线会飞的很远,看起来就很不美观,尤其是一些复杂工作流,连接到最后自己可能已经分不太清楚到底连接好了没有。今天在研究C站的大佬们的工作流的时候,发现一个有意思的工作流,看起来大概是这种感觉:干净整洁。他用到了KJNodes这么个节点来管理变量,git上星标也不算很多,所以我想很多朋友可能还不知道,所以这里简单介绍下用法。

聚梦小课堂 7521

毕设案例|保安公司智慧管理系统的建设与开发方案

"保安公司智慧管理系统是一款专为保安行业设计的高效信息化解决方案,其核心功能涵盖了从人力资源管理到业务运营的各个方面。系统以Java作为开发语言,结合SpringMVC框架,确保了稳定性和可扩展性,而MySQL数据库则提供了强大的数据存储和处理能力。首先,系统允许用户设置各类保安,如门卫、巡逻员等,实现精细化分类管理。其次,保安信息管理模块包括详细的人事档案、资格证书、培训记录等,便于人员追踪和考核。部门和城市设置方便公司层级管理和异地项目管理。岗位设置与时间安排精确到分钟,确保排班科学合理。

muyu2980的专栏 937

MyBatis(三) MyBatis复杂嵌套查询

MyBatis(三) MyBatis复杂嵌套查询

这里是阿安的博客 7329

【云原生】Docker可视化工具Portainer使用详解

Docker可视化工具Portainer使用详解

congge 1万+

8. MyBatis嵌套查询 - 一对一 - 一对多

8. MyBatis嵌套查询 - 一对一 - 一对多前言在上一篇中我们已经基本认识了 MyBatis 的多表查询了。那么 MyBatis 还有一个比较有意思的功能,就是 嵌套查询。这个功...

DevOps海洋的渔夫@专栏 1479

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

Mybatis基于xml的一对一、一对多、多对多嵌套结果查询和嵌套查询

说在前面 MyBatis在映射文件中加载关联关系对象主要通过两种方式: 嵌套查询和嵌套结果。 嵌套查询: 是指通过执行另外一条SQL映射语句来返回预期的复杂类型。 会执行多条sql语句 嵌套结果查询: 是使用嵌套结果映射来处理重复的联合结果的子集。 只会执行一条复杂的sql语句 简单来说: 嵌套查询是多条sql语句分开写并配置 嵌套结果是一条sql语句关联查询并配置 实质效果是一样的。 但嵌套查询会导致数据库访问次数不定,进而有可能影响到性能。 一对一查询 举例:人和身份证是一一对应的,满足一对一查询

weixin_45803046的博客 6096

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

MyBatis的一对多、多对一的嵌套结果和嵌套查询

多表的一对多、多对一的嵌套结果和嵌套查询

m0_61983129的博客 1415

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

MyBatis 一对多嵌套查询

标题MyBatis 一对多结果集嵌套查询 嵌套查询的实现原理为两次查询,比如产品表为主表,图片表为从表通过product_id字段与产品表id字段关联实现一对多,嵌套查询查询两次 首先查询 主表的数据 然后将主表id字段赋值给从表实体类中product_id 字段(productId)然后通过dao接口路径映射找到对应的MyBatis XMl文件SQL语句ID如:com.liao.dao.DImgMapper.selectDImgByProductId 进行子查询也就是第二次查询。然后返回数据 数据库建表

weixin_44560583的博客 4651

mybatis一对多嵌套查询-mybatis学习笔记06

mybatis一对多嵌套查询: 嵌套查询特点:发送1+n条sql语句 步骤: 新建domain类: 数据库设计: 定义一个domainMapper接口: 新建一个domainMapper.xml文件 本例中为DepartmentMapper.xml: &lt;?xml version="1.0" encoding="UTF-8" ?&gt; &lt;!DOCTYPE mapper PUBLIC...

itboy 2467

Mybatis嵌套查询——一对多

mybatis的嵌套查询为两个表之间的关联提供了支持,通过嵌套查询可以轻松达到一种查询A的同时把B也关联查询出来,数据库中也不用创建外键。话不多说,直接上教程。 首先需要确定两个表的关系,我这里的例子是用户表,订单表。用户对订单是一对多的关系。 表字段 图1 订单表字段 图2 用户表字段 实体类 建立完表后,我们接下来编写实体类 public class User implements Ser...

weixin_42397899的博客 1017

Java中一对多的子查询_MyBatis一对多嵌套查询的完整实例

前言嵌套查询的实现原理为两次查询,比如产品表为主表,图片表为从表通过product_id字段与产品表id字段关联实现一对多,嵌套查询 首先查询 主表的数据 然后将主表id字段赋值给从表实体类中product_id 字段(productId)然后通过dao接口路径映射找到对应的MyBatis XMl文件SQL语句ID如:com.liao.dao.DImgMapper.selectDImgByProd...

weixin_33462167的博客 1267

MyBatis嵌套查询和嵌套结果区别以及一对一、一对多、多对多的映射实现

Mybatis、嵌套查询、嵌套结果、一对一、一对多、多对多

justdoit936的博客 1223

mybatis一对多嵌套查询-mybatis学习笔记

mybatis一对多嵌套查询: 嵌套查询特点:发送1+n条sql语句 步骤: 新建domain类:数据库设计:定义一个domainMapper接口:新建一个domainMapper.xml文件 本例中为DepartmentMapper.xml: <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybat

Luck_And_Destiny的博客 443

mybatis 一对多嵌套查询

注意,为了实现这样的关联查询,还需要确保数据库表结构符合关联关系(例如在order表中有user_id作为外键指向user表的id),并且在对应的UserMapper和OrderMapper中完成了基本的CRUD方法映射。以下是一个简单的例子说明如何在MyBatis中实现一对多查询。在MyBatisPlus中,处理一对多关系的查询相对较为简便,主要是借助于模型类的关联注解以及特殊的查询方法。以下是一个简化的例子:假设我们有两个实体类:User和Order,一个用户可以有多个订单,这是一种一对多的关系。

qq_36608622的博客 1212

Mybatis一对多嵌套查询和分页

文章目录定义模型方式1:结果查询方式2:嵌套查询todo 需求:根据分类ID查询分类下所属的商品集合,每个商品又有一个图片集合。 类似的需求有很多,比如经典的一个用户有N个角色,一个角色有N个权限,那么通过用户的id来查询角色和权限数据等等。 至于分页插件,无论是Mybatis-PageHelper还是Mybatis-Plus都可以辅助,这里主要记录不同查询方式对分页的影响。 先展示结果: { ...

闰土CMS 3401

03第三章MyBatis高级映射association&collection[一对一、一对多(嵌套查询)]

文章目录一、一对一映射1.resultMap标签配置2.association标签配置3.association多表一对一嵌套查询二、一对多查询1.collection标签多表连接查询(一对多)2.collection多表嵌套查询(一对多)三、总结1.多表查询一对一映射2.多表查询一对多2.多表查询一对多 一、一对一映射 //实体列 class Tb_blog private long blogId; private String blogTitle; private String

BiuBiuyu的博客 362

Mybatis的多对一和一对多嵌套查询

嵌套查询建表多对一一对多 建表 CREATE TABLE `teacher` ( `id` INT(10) NOT NULL, `name` VARCHAR(30) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=INNODB DEFAULT CHARSET=utf8 INSERT INTO teacher(`id`, `name`) VALUES (1, '凯老师'); CREATE TABLE `student` ( `id` INT(10) NOT NULL,

LongKai_G 1833
上一篇: openldap windows 下的安装与调试
下一篇: linux 环境搭建solr5.5.4搜索服务
feijiing
博客等级 码龄16年 7粉丝 19原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值