`

MyBatis中resultType和resultMap的区别

阅读更多
[size=medium][align=left]
MyBatis中关于resultType和resultMap的区别

共同:MyBatis中在查询进行select映射的时候,返回类型为resultType、resultMap
区别:
1.resultType是直接表示返回类型的(对应着我们的model对象中的实体)
2.resultMap则是对外部ResultMap的引用(提前定义了db和model之间的隐射key-->value关系),但是resultType跟resultMap不能同时存在。
<resultMap id="BaseResultMap" type="po.BuyerCompanyInfo">
<id column="id" jdbcType="BIGINT" property="id" />
<result column="executive_firstname"   jdbcType="VARCHAR"property="executiveFirstname"/>
<result column="executive_lastname" jdbcType="VARCHAR"
property="executiveLastname" />
<result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
</resultMap>

在MyBatis进行查询映射时,其实查询出来的每一个属性都是放在一个对应的Map里面的,其中键是属性名,值则是其对应的值。

具体解释:
①当提供的返回类型属性是resultType时,MyBatis会将Map里面的键值对取出赋给resultType所指定的对象对应的属性。所以其实MyBatis的每一个查询映射的返回类型都是ResultMap,只是当提供的返回类型属性是resultType的时候,MyBatis会自动的把给对应的值赋给resultType所指定对象的属性。

②当提供的返回类型是resultMap时,因为Map不能很好表示领域模型,就需要自己再进一步的把它转化为对应的对象,这常常在复杂查询中很有作用。

个人总结:
1.与数据表对应的实体类中若有如下类似字段
表中create_time
类中createTime
返回值类型为 resultMap
否则,select方法的结果值中createTime字段的值为NULL
即 

参考文献:
http://www.tuicool.com/articles/ju2Y7n
[/align]
[/size]
分享到:
评论

相关推荐

    mybatis分布查询以及resulttype和resultmap的用法

    mybatis分布查询以及resulttype和resultmap的用法,以及作为一个新手对于mybatis的学习过程的记录

    MyBatis中关于resultType和resultMap的区别介绍

    MyBatis中在查询进行select映射的时候,返回类型可以用resultType,也可以用resultMap,那么MyBatis中关于resultType和resultMap的区别是什么呢?下面小编通过本文给大家解答下

    深入理解Mybatis中的resultType和resultMap

    给大家介绍了mybatis中的resultType和resultMap的用法实例讲解,MyBatis中在查询进行select映射的时候,返回类型可以用resultType,也可以用resultMap,至于两种用法区别,通过本文一起学习吧

    Mybatis中的resultType和resultMap查询操作实例详解

    resultType是直接表示返回类型的,而resultMap则是对外部ResultMap的引用,resultMap解决复杂查询是的映射问题。这篇文章主要介绍了Mybatis中的resultType和resultMap查询操作实例详解,需要的朋友可以参考下

    MyBatis中resultMap和resultType的区别详解

    主要介绍了MyBatis中resultMap和resultType的区别详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

    springmybatis

    MyBatis使用简单的XML或注解用于配置和原始映射,将接口和Java的POJOs(Plan Old Java Objects,普通的Java对象)映射成数据库中的记录. orm工具的基本思想 无论是用过的hibernate,mybatis,你都可以法相他们有一个...

    Mybatis结果集自动映射的实例代码

    在使用Mybatis时,有的时候我们可以不用定义resultMap,而是直接在&lt;select&gt;语句上指定resultType。这个时候其实就用到了Mybatis的结果集自动映射,下面通过本文给大家分享Mybatis结果集自动映射的实例代码,...

    java面试题20道(适合工作1~3年)(附答案).docx

    请描述Mybatis结果集中 ResultMap 和ResultType的区别。Java中 @PostConstruct和@PreDestroy注解有什么作用?编写Webservice接口服务端(框架)有几种方式?常用的缓存框架有哪几个?简述TCP三次握手的理解 Linux下...

    Mybatis入门到精通

    Mybatis介绍、单独使用jdbc编程问题总结、Mybatis架构、Mybatis入门程序、Mybatis开发Dao、SqlMapConfig.xml配置、ParameterType输入映射、ResultType及ResultMap输出映射、动态sql、商品订单数据模型、关联查询(一...

    MyBatis 简单样例

    DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"&gt; &lt;resultMap type="Blog" id="blogResult"&gt; &lt;!-- 映射关联的对象 --&gt; ...

    MybatisDemo:DAO层简化与逆向工程

    DAO层简化与逆向工程 分类:Mybatis 2015-07-31 09:36:49 Github地址::Elin-Zhou/Mybatis...•方法如果有返回值,需要同xml标签中的resultType/resultMap类型相同,如果没有则为void •方法如果有形参,需要同xml标

    mybatis学习笔记

    8.3 第三步:拷贝生成的mapper文件到工程中指定的目录中 73 8.3.1 Mapper.xml 73 8.3.2 Mapper.java 73 8.3.3 第四步Mapper接口测试 73 8.4 逆向工程注意事项 74 8.4.1 Mapper文件内容不覆盖而是追加 74 8.4.2 Table...

    OrderByInterceptor,配合PageHelper实现字段排序插件

    OrderByInterceptor,配合PageHelper实现字段...插件通过ResultMap或ResultType读取映射关系,若没有设置,则根据驼峰转换规则。注:当有联表查询时,多个表中含有相同字段,且没有显示映射这个相同的字段,则会有问题

    前端-后端java的Util类的工具类

    │ │ ftp二进制与ascii传输方式区别.txt │ │ IPDeal.java │ │ Md5.java │ │ MD5Encrypt.java │ │ MyFileFilter.java │ │ PropsUtil.java │ │ RegExUtil.java │ │ SimpleConfig.java │ │ ...

Global site tag (gtag.js) - Google Analytics