博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
resultMap的用法以及关联结果集映射
阅读量:2338 次
发布时间:2019-05-10

本文共 1708 字,大约阅读时间需要 5 分钟。

本文为转载,链接:https://blog.csdn.net/qq_42780864/article/details/81429114

resultType

resultType可以把查询结果封装到pojo类型中,但必须pojo类的属性名和查询到的数据库表的字段名一致。

如果sql查询到的字段与pojo的属性名不一致,则需要使用resultMap将字段名和属性名对应起来,进行手动配置封装,将结果映射到pojo中

resultMap

resultMap可以实现将查询结果映射为复杂类型的pojo,比如在查询结果映射对象中包括pojo和list实现一对一查询和一对多查询。

在这里插入图片描述

先在Mapper文件中,配置基本的sql语句

配置resultMap标签,映射不同的字段和属性名

结果就可以封装到pojo类型中

使用resultMap进行关联查询

一对一查询

一对一数据模型:订单用户

一个订单信息只会是一个人下的订单,所以从查询订单信息出发关联查询用户信息为一对一查询。如果从用户信息出发查询用户下的订单信息则为一对多查询,因为一个用户可以下多个订单。
在这里插入图片描述

·改造pojo类

在订单类中添加User属性,User属性是一个引用类型,用于存储关联查询的用户信息,因为关联关系是一对一,所以只需要添加单个属性即可
在这里插入图片描述

·配置Mapper.xml配置文件

OrderMapper.xml
先使用id和result属性,映射order类的结果集,然后在使用association映射关联对象User的结果集

一对多查询

查询所有用户信息及相关订单。

·修改pojo类,在pojo类添加订单集合属性
在这里插入图片描述
修改UserMapper.xml配置文件
先使用id和result配置映射User类的结果,然后使用一对多关系的collection标签配置Order结果

———————————————— 版权声明:本文为CSDN博主「正在努力的陈序员」的原创文章,遵循CC 4.0 by-sa版权协议,转载请附上原文出处链接及本声明。原文链接:https://blog.csdn.net/qq_42780864/article/details/81429114

·测试结果

在这里插入图片描述

你可能感兴趣的文章
TCP协议中的三次握手和四次挥手(图解) .
查看>>
串行通信里的异步通信与同步通信的区别
查看>>
编程箴言
查看>>
线性表之链队列(C语言实现)
查看>>
线性表之顺序队列(循环队列)(C语言实现)
查看>>
机器学习之神经网络
查看>>
早期深度神经网络的问题
查看>>
神经网络之代价函数的选择
查看>>
神经网络之softmax神经元
查看>>
Intellij IDEA使用入门
查看>>
MySQL下载安装、配置与使用(win7x64)
查看>>
单点登录系统记录
查看>>
activiti工作流引擎记录
查看>>
disconf配置中心的使用记录
查看>>
mysql索引与全表扫描
查看>>
java虚拟机内存管理
查看>>
破解visio2013记录
查看>>
嵌入式数据库h2
查看>>
CommandLineRunner
查看>>
spingcloud总结
查看>>