【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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 考研经验-东南大学软件学院软件工程(这些基础课和专业课的各种坑和复习技巧你应该知道)

    考研经验-东南大学软件学院软件工程(这些基础课和专业课的各种坑和复习技巧你应该知道)(记录了2020考研的一些经历和自己的想法,有兴趣可看一下)考研结束后,一直想记录下自己的经历,因为各种原因,直到今天才终于动手。关于本人考研过程中整理的关于基础课和专业课的思维导图笔记,可查看本人博客:本文大概内容:一、考研相关问题1.考研前准备先说说考研之前的准备吧。若你尽早确定了考研的思想,别犹豫,越早复习越好。我想不出有什么理由,对于同一个人而言,复习时间长会比时间短的效果差。当然网上有太多人建议适当的时间就好,不用太长时间,依然考了很理想的学校。但是,你只看到了别人的成功

    2022年10月20日
    3
  • openssl生成证书linux,Linux下使用openssl生成证书「建议收藏」

    openssl生成证书linux,Linux下使用openssl生成证书「建议收藏」利用OpenSSL生成库和命令程序,在生成的命令程序中包括对加/解密算法的测试,openssl程序,ca程序.利用openssl,ca可生成用于C/S模式的证书文件以及CA文件.证书文件的生成步骤:一、服务器端1.生成服务器端的私钥(key文件);opensslgenrsa-des3-outserver.key1024运行时会提示输入密码,此密码用于加密key文件(参数des3是加密算法…

    2026年1月22日
    4
  • SSL VNP技术原理

    SSL VNP技术原理

    2021年4月15日
    158
  • unittest测试框架简介

    unittest测试框架简介unitest测试框架简介

    2022年10月14日
    6
  • STL算法——概述及算法概览[通俗易懂]

    STL算法——概述及算法概览[通俗易懂]

    2022年8月18日
    8
  • 没有sln文件怎么打开「建议收藏」

    没有sln文件怎么打开「建议收藏」没有sln文件怎么用相信这个问题应该是初学者,对.net了解不深的同学会发问的一、很多人学习.net网站开发的时候,使用MicrosoftVisualStudio工具,却没使用过IIS配置网站,我学习的时候就没用过IIS。二、.net网站有个website和webApplication区分,估计很多初学者都不了解这个。可以点击这个了解下三、网站分层架构估计也不是很了解。…

    2022年4月30日
    372

发表回复

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

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