zoukankan      html  css  js  c++  java
  • [转]MyBatis中resultType与resultMap区别

    MyBatis中关于resultType和resultMap的具体区别如下:

    MyBatis中在查询进行select映射的时候,返回类型可以用resultType,也可以用resultMap。
    resultType是直接表示返回类型的(对应着我们的model对象中的实体);
    resultMap则是对外部ResultMap的引用(提前定义了db和model之间的隐射key-->value关系);
    resultType跟resultMap不能同时存在。

    在MyBatis进行查询映射时,其实查询出来的每一个属性都是放在一个对应的Map里面的,其中键是列名,值则是其对应的值。
    1.当提供的返回类型属性是resultType时,MyBatis会将Map里面的键值对取出赋给resultType所指定的对象对应的属性。所以其实MyBatis的每一个查询映射的返回类型都是ResultMap,只是当提供的返回类型属性是resultType的时候,MyBatis会自动把对应的值赋给resultType所指定对象的属性。
    2.当提供的返回类型是resultMap时,因为Map不能很好表示领域模型,就需要自己再进一步的把它转化为对应的对象,这常常在复杂查询中很有作用。

  • 相关阅读:
    面向对象高级
    面向对象进阶
    python文件的两种用途
    python常用模块
    模块的搜索路径
    循环导入问题
    模块的导入
    面向过程编程
    函数及嵌套函数调用
    python文件操作详解
  • 原文地址:https://www.cnblogs.com/atai/p/7615713.html
Copyright © 2011-2022 走看看