mybatis中resultMap的用法

VS Code下载安装与使用教程 VSCode下载安装与使用教程 阅读详情

新建User,role,Permission三个实体类

User类

       private Integer uId;
	
	private String  userName;
	
	private String password;
	
	private Set<Roles> role = new HashSet<Roles>();


Roles 类


private Integer rId;
	
	private String name;
	
	private Set<Permission> permissions = new HashSet<Permission>();

private Set<User> user = new HashSet<User>();


Permission类

private Integer pId;
	
	private String name;
	
	private String url;

其中user包含了role的集合,并且role包含了permission的集合

当我们想以user_name为关键字查询时,sql的写法

<resultMap type="User" id="userMap">
		<id property="uId" column="id"/>
		<result property="userName" column="userName" />
		<result property="password" column="password"/>
		<collection property="role" ofType="Roles">
			<id property="rId" column="rId"/>
			<result property="name" column="name"/>
			<collection property="permissions" ofType="Permission">
				<id property="pId" column="pId"/>
				<result property="name" column="pName"/>
				<result property="url" column="url"/>
			</collection>
		</collection>
	</resultMap>


其中<collection property="role" ofType="Roles">中的role要和user实体类中private Set<Roles> role = new HashSet<Roles>();  名称保持一致

ofType="Roles"表示对应的实体类


<select id="findByUserName" parameterType="String" resultMap="userMap">
		select 
			a.id AS "id",
			a.user_name AS "userName",
			a.password AS "password",
			r.id AS "rId",
			r.name AS "name",
			p.id AS "pId",
			p.name AS "pName",
			p.url AS "url"
		from user a
		inner join user_role ur on ur.uId = a.id
		left join role r on r.id = ur.rId
		left join permission_role pr on pr.rId  = r.id 
		left join permission p on p.id = pr.pId
		where a.user_name = #{0}
	</select>


注意:sql中的别名要和column中的保持一致

 

WorkBuddy 技能指南:基础办公与文档处理 WorkBuddy 不仅仅是一个对话工具——它通过技能(Skills)系统,将通用 AI 助手转变为具备专业领域能力的智能助手。每个技能都是一套经过精心设计的"能力包",包含专业知识、工作流程和专用工具。本文聚焦于文档处理类技能——这是日常工作中使用频率最高、最实用的能力集合。 阅读详情

相关推荐

契约锁代码审计分析

但是正常来讲,定义了这么多的路由,肯定会有一个通用的判断逻辑,来判断请求的url是否和这些路由匹配。POC中有一点值得注意,Spring新一些的版本中支持以表单的形式来为参数赋值,且无需用注解。但是需要注意4.2.8的代码逻辑和新版本中的不同,此漏洞可能存在于版本大于4.2.8的版本中。方法用于解析LICENSE,先进行AES解密,再从字符串转换成json格式的License。loadPath实际判断传入的path是否和下面的path相等,如果不相等返回null。,如果包含这三个中的一个就会抛出异常。

好记性不如烂笔头 5712

11.MyBatis的嵌套查询

11.MyBatis的嵌套查询 1.什么事嵌套查询 嵌套查询就是将原来多表查询中的联合查询语句拆成单个表的查询,再使用mybatis的语法嵌套在一 起。 例子: * 需求:查询一个订单,与此同时查询出该订单所属的用户 1. 联合查询 SELECT * FROM orders o LEFT JOIN USER u ON o.`uid`=u.`id`; 2. 嵌套查询 2.1 先查询订单 SELECT * FROM orders 2.2 再根据订单uid外键,查询用户 SELECT * FROM `user

程序员阿红的博客 9833

数字IC后端PR阶段Innovus,ICC,ICC2修复short万能脚本分享

数字IC后端PR阶段Innovus,ICC,ICC2修复short万能脚本分享

weixin_37584728的博客 3450

Mybatis学习笔记12 嵌套查询

之前我们学习过,在关联查询中,我们的处理办法是在表连接之后,查出数据,分别做出映射。 <resultMap id="Department_Employee" type="Department"> <id column="id" property="id"></id> <result column="name" property="name"></result> <result col

The Shawshank Redemption 483

Cadence AMS数模混合仿真:从零搭建高效验证环境的实战指南

本文是Cadence AMS数模混合仿真的实战指南,详细介绍了如何从零搭建高效的芯片验证环境。内容涵盖环境准备、Testbench创建、核心Config视图与ADE设置、仿真运行调试及性能加速技巧,旨在帮助工程师解决SoC设计中数字与模拟模块的集成验证难题,确保芯片设计一次成功。

weixin_29164091的博客 320

ANSYS Fluent:湍流模型理论与应用

雷诺平均方程(RANS,Reynolds-Averaged Navier-Stokes equations)是湍流建模中最常用的方法。它通过将Navier-Stokes方程中的瞬时速度分解为平均速度和脉动速度,然后对这些方程进行时间平均,从而简化了湍流的计算。RANS方法的关键在于湍流闭合问题的解决,即如何准确地表示脉动速度的统计量。雷诺应力模型(RSM)是一种更高级的湍流模型,它通过求解六个雷诺应力方程来描述湍流的各向异性。RSM模型能够更准确地预测复杂的湍流流动,如旋转流和分离流,但计算成本较高。

kkchenjj的博客 2946

MyabtisPlus(高级查询)

mybatisplus查询基础使用

北执南念的博客 1万+

YOLOv11缝合添加注意力机制:添加YOLO-Face的SEAM到并行通道空间注意力机制【附代码】

在目标检测的实际应用中,物体遮挡是一个严重影响检测精度的难点。本文将基于YOLOv11架构,探索融合YOLO-Face中提出的SEAM注意力机制以提升对遮挡物体的感知能力,并在此基础上提出一种轻量化双路径并行注意力机制C2PSA,进一步提升检测性能。

一键难忘的博客 1527

mybatis-plus 查询 QueryWrapper 带嵌套子查询

QueryWrapper<Source> queryWrapper = new QueryWrapper(); if (StrUtil.isNotEmpty(filter)) { queryWrapper.or(i->i.like("name", filter).or().like("description", filter)); } if (StrUtil.isNotEmpty(catalog)) { queryWrapper.eq("catalog_id", .

HouYing 3万+

路径规划 | 图解粒子群(PSO)算法(附ROS C++仿真)

粒子群算法(PSO)的基本思想是模拟鸟群觅食机制,将鸟类的觅食方向分为自我认知部分和社会部分,个体自主探索群体周围空间的同时,也随着群体的主流方向前进,不断逼近最优目标。本文详解PSO算法基本概念,并给出ROS C++实现加深理解

FRIGIDWINTER的博客 2614

【系统架构设计师】模拟预测试卷十 - 案例分析(完整结构)

本文为系统架构设计师考试模拟试题及参考答案,包含五个专题:质量属性(必答)、信息系统架构设计、嵌入式系统架构设计、云原生架构设计、面向服务架构设计(SOA)。试题一聚焦非功能需求与质量属性映射,如性能、可修改性、一致性等;其余选答题分别涉及分层架构设计(如嵌入式实时控制)、云原生会话管理、服务化治理(如契约设计、熔断策略)等核心架构场景,涵盖战术应用、权衡分析及解决方案设计。参考答案提供关键要点,例如离线借还的冲突解决、服务编排与共享服务的区分、嵌入式硬实时保护的必要性等,适用于备考实战演练。

数据知道的博客 249

mybatis-plus嵌套查询

1.两个实体类 djTag.java /** 其他实体 */ private * *; /** 标签设备关联信息 */ private List<DjTagDevice> djTagDeviceList; /** 其他实体 */ private * *; djTagDevice.java /** 主键 */ private Long id; /** 设备ID */ @Excel(name = "设备ID") private

weixin_51716950的博客 3392

在 TASKPROCESSING 上为 ABAP OData 服务添加多个系统别名:从原理到落地的完整实践

本文面向SAP Gateway与ABAP开发者,详细讲解如何在TASKPROCESSING OData服务上添加系统别名。首先介绍了系统别名的概念与设计初衷,阐述了添加别名的业务场景需求,包括多系统接入、用户分流和灰度发布等。随后提供了标准配置步骤,从SPRO路径到具体操作说明,并分享了三个实际案例说明如何实现跨区域统一待办、按用户角色分流和灰度发布。最后给出了验证方法和常见问题解决方案,帮助开发者掌握这项基础但关键的配置技能,实现服务路由的可控管理。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 136

mybatis的resultMap用法

resultMap元素是 MyBatis 中最重要最强大的元素。MyBatis 创建时的一个思想是:数据库不可能永远是你所想或所需的那个样子。 我们希望每个数据库都具备良好的第三范式或 BCNF 范式,可惜它们并不都是那样。 如果能有一种数据库映射模式,完美适配所有的应用程序,那就太好了,但可惜也没有。 而 ResultMap 就是 MyBatis 对这个问题的答案。 代码中会出现大量重复,为了节省时间及空间,类型别名是好帮手。使用它们,就可以不用输入类的全限定名了。在mybatis的全局变量

qq_50896786的博客 7164

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

mybatis中resultMap的作用与用法

解决数据库字段(如user_id)与Java对象属性(如userId)命名规则不一致的问题。支持一对一、一对多等关联映射(如用户关联角色、用户包含订单集合)。:数据库字段user_name→ Java属性userName。

m0_63267752的博客 700

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

mybatis collection用法_Mybatis中强大的resultMap

前言在Mybatis中,有一个强大的功能元素resultMap。当我们希望将JDBC ResultSets中的数据,转化为合理的Java对象时,你就能感受到它的非凡之处。正如其官方所述的那样:resultMap元素是 MyBatis 中最重要最强大的元素。它可以让你从 90% 的 JDBC ResultSets 数据提取代码中解放出来,并在一些情形下允许你进行一些 JDBC 不支持的操作。实际上,...

weixin_39837727的博客 448

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

Mybatis之ResultMap和ResultType用法和对比

本文主要对Mybatis中的ResultMap和ResultType进行了介绍和比较,并通过示例展示了如何配置使用。

2401_84963621的博客 2721

MyBatis之Mapper.xml文件中parameterType,resultType,resultMap的用法

MyBatis之Mapper.xml文件中parameterType,resultType,resultMap的用法

dy051107的博客 4636

【MyBatis】ResultMap 的基本用法

属性中指定根据这个id去对应表中查询出对应实体类的全部信息,然后再赋值,这就是为什么还要写一个。明确指定数据库查询结果(字段)如何映射到 Java 对象的属性。如果查询的结果需要映射到一个嵌套的对象(如一对一关系),可以使用。如果查询的结果是多个对象(如一对多关系),可以使用。在这个例子中,当执行查询时,MyBatis 会将。字段,表示该用户的地址 ID,而地址信息存储在。我们需要将查询结果映射为用户和地址的组合。有时数据库的列名与 Java 类的属性名不一致,可以帮助处理这种映射。来指定数据库中的列名,

weixin_63466958的博客 3138

Mybatis中resultMap的用法

resultMap是Mybatis最强大的元素,它可以将查询到的复杂数据(比如查询到几个表中数据)映射到一个结果集当中。resultMap包含的元素:&lt;!--column不做限制,可以为任意表的字段,而property须为type 定义的pojo属性--&gt; &lt;resultMap id="唯一的标识" type="映射的pojo对象"&gt; &lt;id column="表的...

caoyang0105的博客 411

Mybatis中的ResultMap的用法

前提:有时候在我们创建数据库中的字段名和所对应的实体类中的属性名会出现不一致的情况,这时候在进行相关操作的时候就会出现错误,现在来看看解决方法。 数据库中的字段名: 实体类: 这里的pwd与password名称不同。 进行查询的方法: //根据ID查询用户 User getUserById(int id); 由于名称不同,这里有2种解决方案。 方式1:给字段名起别名,别名与实体类的属性名对应 xml文...

m0_61689010的博客 1876

MyBatis中ResultMap的用法

其中com.redstone.seehot.bean.AuthRole为某个实体类 <?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" &g...

hit、run 410

关于mybatis中的resultType与resultMap用法及误区

1.resultType与resultMap resultType:指定返回数据的类型 如果为List 此处应填对应的java Object 注:select的条件最好与Object里的字段一一对应,避免引发其他错误(大小写敏感) resultMap:指定返回的数据为定义好的XXXMap,其中的字段必须一一对应(大小写敏感) 2.foreach传参 传入是单一参数List ——foreach

cathy_sunshine的博客 1636

mybatis中resultMap用法及懒加载

本章节主要介绍mybatis的resultMap的用法,包含了级联查询、关联查询、懒加载、鉴别器的相关讲解和代码用例 首先这是测试代码用到的实体类POJO Employee.java: package com.wcg.mybatis.entity; import java.io.Serializable; /** * @author wcg * @create 2019-05...

qq_37776015的博客 691

MyBatis框架<sql>、<resultMap>、<where>、<foreach>、<trim>、<set>、<choose> 等标签用法

本文介绍了MyBatis框架中常用的SQL标签及其用法: sql标签用于定义可复用的SQL片段; resultMap标签解决数据库字段与Java属性映射问题; where标签实现动态条件查询; set标签用于动态更新操作; trim标签可灵活处理SQL前后缀; foreach标签支持批量操作。 这些标签能简化SQL编写,提高开发效率,特别适用于复杂查询和动态SQL场景。通过合理使用这些标签,可以构建更加灵活、可维护的MyBatis映射文件。

m0_70325779的博客 1364

mybatis中resultMap的几种用法

基本定义 resultMap自定义结果集映射规则 resultMap与resultType只能二选一 <resultMap type="emp" id="emps"> <id column="id" property="id" /> <result column="last_name" property="lastName" /> <result column="email

超胆孤侠 8966
上一篇: springboot+shiro入门学习(五)自定义密码比较器
下一篇: ObjectMapper的用法
若往夕之
博客等级 码龄9年 20粉丝 82原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值