【Mybatis框架】输出映射resultType与resultMap

【Mybatis框架】输出映射resultType与resultMap如果你搜索只是返回一个值,比如说String ,或者是int,那你直接用resultType就行了。但是你如果是返回一个复杂的对象,就必须定义好这个对象的resultMap的result map。如果你搜索只是返回一个值,比如说String ,或者是int,那你直接用resultType就行了。但是你如果是返回一个复杂的对象,就必须定义好这个对象的resultMap的result …

大家好,又见面了,我是你们的朋友全栈君。

 

如果你搜索只是返回一个值,比如说String ,或者是int,那你直接用resultType就行了。
但是你如果是返回一个复杂的对象,就必须定义好这个对象的resultMap的result map。

如果你搜索只是返回一个值,比如说String ,或者是int,那你直接用resultType就行了。
但是你如果是返回一个复杂的对象,就必须定义好这个对象的resultMap的result map。
 
举个例子吧,例子以ibatis为例:
你有个User 对象, 拥有两个字段id,name。 
1.你要获取id为123的name
String name = (String) queryForObject(“getUserNameByID”, id);
 
<select id=”getUserNameByID” resultType=”java.lang.String”>
 Select name from User where id =#id#
 </select>
 
2.你要获取整个User对象
User user = (User) queryForObject(“getUserByID”, id);
 
<resultMap class=”包.User” id=”User”>
  <result property=”id” column=”ID” />
  <result property=”name” column=”NAME” />
 </resultMap>
 
<select id=”getUserByID” resultMap=”User”>
 Select ID,NAME from User where id =#id#
 </select>
追问
但是,resultType 也可以返回一个对象 
<select id=”getUserNameByID” resultType=”com.bean.User”>
Select * from User where id =#id#
</select>

也可以返回一个封装的对象啊
这个跟resultMap是一样的效果
那什么时候是用resultType解决不了的呢?只能用resultMap
追答
你要是反回这个对象用result type,就必须返回这个对象所有信息了,而且没有任何设置,适用用普通的完整返回。
 
但你用resultmap,因为resultmap,因为resultmap那段是我们自己指定的,可能指定的属性只是User的一部分,而且还可以设置默认值,这是result type做不到的:
resultMap里面只定义 name
<resultMap class=”包.User” id=”User”>
  <result property=”name” column=”NAME” />
 </resultMap>
 
<select id=”getUserByID” resultMap=”User”>
 Select NAME from User where id =#id#
 </select>

——————————————————————————————————————————————————————

坚持总结工作中遇到的技术问题,坚持记录工作中所思所见。群中可下载相关资料

  【Mybatis框架】输出映射resultType与resultMap【Mybatis框架】输出映射resultType与resultMap

【Mybatis框架】输出映射resultType与resultMap

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/147243.html原文链接:https://javaforall.net

(0)
上一篇 2022年6月13日 下午6:36
下一篇 2022年6月13日 下午6:36


相关推荐

  • GPU视频编解码「建议收藏」

    GPU视频编解码「建议收藏」一视频编解码基础1.1识别编码流程视频编解码流程1.2YUV颜色空间YCbCr通常是YUV的同义词,Y为明度(luma),CbCr为色度(chroma),Cb为蓝色分量,Cr为红色分量。颜色空间转换公式:–      RGB转YUV•      y=[0.299,0.587,0.114]*[r,g,b]’•      u=[-0.147,-0.28…

    2022年7月13日
    30
  • mysql 客户端_推荐一个好用的mysql的客户端工具?

    MySQL作为一个非常流行的关系型数据库,客户端软件其实非常多,下面我简单介绍几个,感兴趣的朋友可以尝试一下:Navicat这是一个比较常用的MySQL客户端软件,界面简洁、功能强大,可以直接查看数据库目录结构,建库建表也非常容易,支持SQL脚本导入导出、数据备份恢复及建模设计等,对于日常管理和维护MySQL数据库来说,是一个非常不错的工具:DBeaver这是一个非常有名的通用数据库管理…

    2022年4月4日
    67
  • 大数据平台框架、组件以及处理流程详解

    大数据平台框架、组件以及处理流程详解数据产品和数据密不可分作为数据产品经理理解数据从产生、存储到应用的整个流程,以及大数据建设需要采用的技术框架Hadoop是必备的知识清单,以此在搭建数据产品时能够从全局的视角理解从数据到产品化的价值。本篇文章从三个维度:1.大数据的处理流程2.大数据的的平台框架Hadoop3.Hadoop生态圈组件理解了数据从产生到场景应用每个环节的流程过程以及企业在建立大数据平台时需要采用的技术…

    2022年5月23日
    151
  • 千问 App 接入阿里最强学习模型 Qwen3-Learning,支持拍照答疑、作业批改

    千问 App 接入阿里最强学习模型 Qwen3-Learning,支持拍照答疑、作业批改

    2026年3月13日
    2
  • Android开发必备工具

    Android开发必备工具工欲善其事,必先利其器,在Android项目的开发中,借助工具能使开发效率大幅提升,下面分享我经常使用的工具,欢迎各位同学补充。1.AndroidStudioAndroid程序员的吃饭工具,可以说现在绝大部分的安卓项目都是跑在AndroidStudio上面的。AndroidStudio是基于IntelliJIDEA且适用于开发Android应用的官方集成开发环境(IDE…

    2022年6月7日
    39
  • cmd cd 修改 盘符「建议收藏」

    cmd cd 修改 盘符「建议收藏」cd/ee:

    2022年5月29日
    33

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号