mybatis-210720-03---映射文件_select_resultMap_分步查询传递多列值&fetchType

MyBatis 分步查询传递多列值以及fetchType(加载形式) 分步查询 <resultMap id="maop" type="com.yunqing.mybatis.bean.Department"> <id column="did" property="id"/> <result column="department" property="departm 阅读详情

mybatis-210720-03—映射文件_select_resultMap_分步查询传递多列值&fetchType.md


<!--
		场景2
			查询部门的时候,把对应所有的员工信息查询出来
-->

DepartmentMapper.java

package com.bgy.mybatis.dao;
import com.bgy.mybatis.bean.Department;

public interface DepartmentMapper {
	
	public Department getDeptByIdStep(Integer id);
}

DepartmentMapper.xml(笔记在这儿)

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
  PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.bgy.mybatis.dao.DepartmentMapper">
	
	<!--
		场景2
			查询部门的时候,把对应所有的员工信息查询出来
	-->
	<resultMap type="com.bgy.mybatis.bean.Department" id="MyDeptStep">
		<id column="id" property="id"/>
		<result column="dept_name" property="departmentName"/>
		
		<!--
		多列值传递过去
		将多列的值封装map传递
		column="{key1=column1,key2=column2}"
		
		fetchType:使用延迟加载
			lazy:延迟加载
			eager:立即加载
		-->
		<!--
			这个emps是我们Department中的属性
			column="id"> 中的id就把,把哪个属性传给这个查询方法
			column="{deptId=id}">
		-->
		<collection property="emps"
			select="com.bgy.mybatis.dao.EmployeeMapper.getEmpsByDeptId"
			column="{deptId=id}"
			fetchType="lazy">
		</collection>
	</resultMap>
	<select id="getDeptByIdStep" resultMap="MyDeptStep">
		select 
			id,dept_name
		from 
			tbl_dept
		where
			id=#{id}
	</select>
</mapper>

EmployeeMapper.java

package com.bgy.mybatis.dao;

import java.util.List;
import com.bgy.mybatis.bean.Employee;

public interface EmployeeMapper {
	
	public List<Employee> getEmpsByDeptId(Integer deptId);
}


EmployeeMapper.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
  PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.bgy.mybatis.dao.EmployeeMapper">
	
	<!--
		场景2
			查询部门的时候,把对应所有的员工信息查询出来
	-->
	<select id="getEmpsByDeptId" resultType="com.bgy.mybatis.bean.Employee">
		select 
			* 
		from
			tbl_employee
		where 	
			d_id=#{deptId} 
	</select>
</mapper>

MybatisTest.java

package com.bgy.mybatis.test;

import java.io.IOException;
import java.io.InputStream;

import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.junit.jupiter.api.Test;

import com.bgy.mybatis.bean.Department;
import com.bgy.mybatis.dao.DepartmentMapper;

class MybatisTest {
	
	public SqlSessionFactory getSqlSessionFactory() throws IOException {
		String resource = "mybatis-config.xml";
		InputStream inputStream = Resources.getResourceAsStream(resource);
		return new SqlSessionFactoryBuilder().build(inputStream);
	}

	
	/**
	 * 测试分步查询传递多列值&fetchType
	 * @throws IOException
	 */
	@Test
	public void test04() throws IOException{
		SqlSessionFactory sqlSessionFactory = getSqlSessionFactory();
		SqlSession sqlSession = sqlSessionFactory.openSession();
		
		try {
			DepartmentMapper mapper = sqlSession.getMapper(DepartmentMapper.class);
			Department department = mapper.getDeptByIdStep(1);
			
			System.out.println(department.getDepartmentName());
//			System.out.println(department.getEmps());
		} finally {
			sqlSession.close();
		}
	}
}

feko金属球远场RCS双站 阅读详情

相关推荐

用Quartus II和LPM_ROM手把手复现西电计组课设:从微指令到五条指令的完整流程

本文详细介绍了使用Quartus II和LPM_ROM复现西电计组课设的完整流程,从微指令编写到五条指令的实现。通过环境搭建、LPM_ROM配置、微程序设计及调试技巧,帮助读者高效完成课程设计,避开常见问题。适合计组课程设计的学习者和实践者参考。

weixin_29288313的博客 456

22.MyBatis学习--映射文件_select_resultMap_分步查询通过column传递多列值&fetchType

分步查询通过column传递多列值 在前面,无论是通过association还是collection实现分步查询,我们通过column来传递的参数都是一个,column是可以传递多列值得。传递方法就是将多列值封装成map形式:column="{key1=column1,key2=column2}". 例如: 在DepartmentMapper.xml中分步查找部门信息及其下的员工信息。 <resultMap id="MyDeptStep" type="com.fzl.mybatis.bean.Dep

Adela0916的博客 584

Unity中的坐标系及其转换方法

Unity中的坐标系及其转换方法 Unity中有四种坐标系: 1.全局坐标系 World Coordinate System 全局坐标系是用于描述场景内所有物体位置的方向的基准,也称为世界坐标系,Unity中创建的物体都是以全局坐标系中的坐标原点(0,0,0),来确定各自的位置的,可以使用transform.position来获取游戏对象的世界坐标。 2.局部坐标系 Local Coordinate System 局部坐标系也称为模型坐标系或物体坐标系,每个物体都有自身独立的物体坐标系。当物体移动或改变方向

Z_hongli的博客 8179

mybatis中对resultMap 做嵌套查询 多参数查询

<resultMap id="Organ" type="com.pskj.GSLZ.pojo.zfzb.Organ" > <result column="OR_ID" property="OR_ID" jdbcType="VARCHAR"></result> <result column="OR_NAME" property="OR_NAME" jdbcType="VARCHAR"></result> .

qq_41901629的博客 1356

深入解析ACS SPiiPlus运动控制器的托管API架构与实战应用

本文深入解析了ACS SPiiPlus运动控制器的托管API架构,详细介绍了其核心模块、设计哲学与实战应用。通过C#/.NET封装的托管接口,开发者能够高效实现多轴协同运动控制、EtherCAT总线集成以及事件驱动的异步编程,显著提升高精度工业自动化设备的开发效率与系统稳定性。

jwt8token的博客 861

ArcGIS新手必看:HWSD2土壤数据从下载到批量提取TIFF的完整流程

本文详细介绍了ArcGIS中HWSD2土壤数据的完整处理流程,从数据下载、预处理到批量提取TIFF文件。涵盖栅格属性表构建、属性数据连接及性能优化等关键步骤,帮助新手高效掌握HWSD2数据提取技术,提升地理信息数据处理效率。

ll5678的博客 1036

MyBatis中ResultMap的使用

resultMap 元素是 MyBatis 中最重要最强大的元素。它就是让你远离 90%的需要从结果 集中取出数据的 JDBC 代码的那个东西, 而且在一些情形下允许你做一些 JDBC 不支持的事 情。 事实上, 编写相似于对复杂语句联合映射这些等同的代码, 也许可以跨过上千行的代码。 ResultMap 的设计就是简单语句不需要明确的结果映射,而很多复杂语句确实需要描述它们 的关系。 你已经看到简单映射语句的示例了,但没有明确的 resultMap。比如:    1 2 3

su1177的博客 1269

《深入浅出图神经网络:GNN原理解析》学习笔记

期末考完了,该上道了 目录一、图的概述1.基本概念2.图的存储和遍历3.应用分类二、神经网络基础1.机器学习2.神经网络三、卷积神经网络(CNN)1.卷积与池化2.卷积神经网络四、表示学习1.意义2.自编码器五、图信号处理与图卷积神经网络1.矩阵计算前置知识2.图信号与图的拉普拉斯矩阵3.图傅里叶变换4.图滤波器(Graph Filter)5.图卷积神经网络(GCN) 一、图的概述 1.基本概念 1.顶点(Vertex)表示研究的对象,边(Edge)表示两个对象之间特定的研究关系 2.图为顶点和边的集合.

且视他人之疑目如盏盏鬼火,大胆地去走你的夜路 2049

MyBatis总结六:resultMap详解(包含多表查询)

MyBatis总结六:resultMap详解(包含多表查询) 简介:     MyBatis的每一个查询映射的返回类型都是ResultMap,只是当我们提供的返回类型属性是resultType的时候,MyBatis对自动的给我们把对应的值赋给resultType所指定对象的属性,而当我们提供的返回类型是resultMap的时候,将数据库中列数据复制到对象的相应属性上,可以用于复制查询,两者不能...

f45056231p的博客 6163

pymol 动画简单制作,gif、mp4导出

参考: https://www.youtube.com/watch?v=G77K9Lro8js1、直接Movie下Program下,Camera Loop下Nutate下选择,这里选择30degover4 sec;如果要动画过渡自然,可以在这4sec后面再Append 1sec;如果需要两个视角,既可以再把窗口蛋白定位到比如配体,不用管中间过程怎么定位过去配体,再Program下,Camera Loop下Nutate下选择,这里选择30degover4 sec添加;最后如果要整体形成个循环播放,可以在这4s

weixin_42357472的博客 8437

GDB交叉编译与问题解决:从零到精通的深度指南

完成后,GDB会安装到/usr/local/gdb-aarch64/bin,可以用aarch64-linux-gnu-gdb --version检查。:得有支持目标架构的交叉编译工具链,比如gcc-arm-none-eabi(用于ARM裸机)或aarch64-linux-gnu-gcc(用于ARM Linux)。:在配置工具链时,运行aarch64-linux-gnu-gcc --version检查版本,确保工具链没问题。这种场景下用GDB调试,就像在荒野求生,但别慌,GDB依然是你的好伙伴。

大模型大数据攻城狮的专栏 1万+

mybaties配置多个resultMap,实现返回不同的实体

<resultMap id="userInfo" type="userInfo"> <result property="userID" column="UserID" /> <result property="loginID" column="LoginID" /> <res...

weixin_34324081的博客 2025

8年ES运维经验整理出的Elasticsearch运维手册(超实用)

k1 : 控制非线性词频率归一化(饱和),Elasticsearch中默认值为1.2。用人能看懂的话说就是词语在文档中出现的次数对于得分的重要性。例如说我觉得在某些场景,一个搜索词在文档中出现越多则越接近我希望搜索的内容,就可以将这个参数调大一点。b :控制文档长度对于分数的惩罚力度。变量b处于分母上,它乘以刚刚讨论过的字段长度的比值,Elasticsearch中的b 默认值为0.75。如果b较大,则文档长度相对于平均长度的影响更大。

yonggeit的博客 5275

Mybatis:高级知识1- resultMap实现一对一、一对多、多对多

Mybatis是什么 mybatis是一个持久层框架,是apache下的开源项目,前身是itbatis,是一个不完全的ORM框架,mybatis提供输入和输出的映射,需要程序员自己写sql语句,mybatis重点对 sql语句的灵活操作。 适合用于:需求变化频繁, 数据模型不固定的项目,例如:互联网项目。 mybatis架构 SqlMapConfig.xml(名称不固定),配置...

琦彦 2万+

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

MyBatis_分步查询传递多列值&fetchType

无论是association还是collection标签在做分步查询时,都要传入一个

qq_36901488的博客 2336

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

mybatis-分步查询方式传递多列的值-16

分步查询方式,需要传多列值如果需要将多列的值传递过去,可以封装map传递 column=”{key1=column1,key2=column2}”// fetchType: 有两个选项lazy eager 可以设置立即加载或延迟加载 // 下面的deptId是com.stayreal.mybatis.EmployeeMapperPlus.getEmpsByDeptId方法中接收的参数名<

apple_5的博客 1376

精雕软件(JDpaint) 5.5 绿色版

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

使用Mybatisplus,查询多列,统计数据条数

利用LambdaQueryWrapper查询多列 List<FvgDealerEntity> fvgDealerEntityList = fvgDealerDao.selectList( new LambdaQueryWrapper<FvgDealerEntity> () .select(FvgDealerEntity::getDealercode, FvgDeale

Vters的博客 6241

mybatis-plus 多列映射成数组_多维关系分析必备:多列联合倒排索引

长期以来,Lucene在搜索领域的垄断地位无人能及,基于Lucene之上的Elastic Search与Solr 也是家喻户晓的产品;录信数据库最初的版本也是基于Lucene来实现的,在设计之初经常会遇到跟solr、es同样的问题。如面对几十亿的数据就遇到内存爆掉的问题,此时CPU与IO都飙到系统极限;100亿的数据就需要100多台512G的大内存与SSD盘的硬件支撑,内存参数略微调不好就出现节点...

weixin_39857876的博客 525

MyBatis框架核心之(四)Mapper文件使用resultMap及多表查询

四、resultMap与多表查询(mapper.xml文件) 一、resultMap简介 MyBatis是基于“数据库结构不可控”的思想建立的,也就是我们希望数据库遵循第三范式或BCNF,但实际事与愿违,那么结果集映射就是MyBatis为我们提供这种理想与现实间转换的手段了,而resultMap就是结果集映射的配置标签了。   1.从SQL查询结果到领域模型实体              

弱弱的猿 1万+

Mapper.xml select,resultMap,collection,association标签(2)

select操作: resultType 返回对象类型。也可以使用resultMap (这个是自定义标签) parameterType 传入数据类型。 flushCache 默认false ,用于本地缓存和二级缓存清空 timeout 默认unset,设置驱动程序等待数据库返回请求结果的秒数 fetchSize 默认unset,尝试影响驱动程序每次批量返回的结果行数和这个设置值相等 ...

sugar的博客 997

MyBatis框架核心之Mapper文件使用resultMap及多表查询

resultMap简介 MyBatis是基于“数据库结构不可控”的思想建立的,也就是我们希望数据库遵循第三范式或BCNF,但实际事与愿违,那么结果集映射就是MyBatis为我们提供这种理想与现实间转换的手段了,而resultMap就是结果集映射的配置标签了。 1.从SQL查询结果到领域模型实体                   在深入ResultMap标签前,我们需要了解从SQL查询结果...

xiaoyaGrace的博客 980

mybatis的学习3(select查询语句多个数据表查询collection、association的使用)

在使用select语句时,有时候需要查询两个表,可以使用表连接进行查询,也可以用mybatis给我们提供的collection标签 collection标签是在结果集映射的时候添加,也就是在resultMap标签添加,且不能放在result标签前面 collection标签属性有许多,但是基本用法只需要property、select、column 例如: <resultMap> <id property="结果集映射主键的实体类参数" column="数据库主键字段"></i

单俞浩的博客 3958

mybatis-210721-02---动态sql-trim自定义字符串截取

mybatis-210721-02—动态sql-trim自定义字符串截取 EmployeeMapper.java EmployeeMapper.xml(笔记在这儿哦) MybatisTest.java EmployeeMapper.java package com.bgy.mybatis.dao; import java.util.List; import com.bgy.mybatis.bean.Employee; public interface EmployeeMapper { publ

白光一的博客 1612

mybatis-210721-01---动态sql-if判断&where查询条件

mybatis-210721-01—动态sql-if判断&where查询条件.md if_判断 EmployeeMapper.java EmployeeMapper.xml(笔记在这儿) MybatisTest.javawhere where查询条件 EmployeeMapper.xml(笔记在这儿)(where)(1=1) EmployeeMapper.xml(笔记在这儿)(where标签) if_判断 EmployeeMapper.java package com.bgy.my

白光一的博客 510

mybatis-210721-05---动态sql-foreach遍历集合

mybatis-210721-05—动态sql-foreach遍历集合 EmployeeMapper.java EmployeeMapper.xml(笔记在这儿哦) MybatisTest.java 查询 id在集合中 的员工 EmployeeMapper.java package com.bgy.mybatis.dao; import java.util.List; import org.apache.ibatis.annotations.Param; import com.bgy.myb

白光一的博客 361
上一篇: mybatis-210720-02---映射文件_select_resultMap_collection分步查询&延迟查询
下一篇: mybatis-210720-04---映射文件_select_resultMap_discriminator鉴别器
白光一
博客等级 码龄9年 0粉丝 174原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值