zoukankan      html  css  js  c++  java
  • resultMap与resultType、parameterMap与 parameterType的区别

    (一) mybatis中select元素有两个属性resultType和resultMap,他们有什么区别呢?                                                  

      1- resultType:当使用resultType做SQL语句返回结果类型处理时,对于SQL语句查询出的字段在相应的pojo中必须有和它相同的字段对应,而resultType中的内容就是pojo在本项目中的位置

      2- resultMap:当使用resultMap做SQL语句返回结果类型处理时,通常需要在mapper.xml中定义resultMap进行pojo和相应表字段的对应。还可以表示对象间一对一、一对多、多对多、多对一等关系。


    (二) 关于ResultMap和ResultType、ParameterMap和ParameterType,它们都是存在于mybatis的应用中。当我们在编写mapper.xml的时候,经常可以看到这几个参数,接下来就来分析一下它们之间的区别了。

        1- 首先看看ResultMap和ResultType,它们都是用来表示查询结果集与java对象之间的一种关系,将查询结果集,按照某种关系映射到java对象。

        2- ResultMap:将查询结果集中的列一一映射到java对象的各个属性上去,此处的这个映射关系,是根据用户在“resultMap”的子标签中的配置来决定的,灵活多变,常用于多表查询以及查询时使用别名的情况。

      ResultMap标签及其子标签部分属性:

        id:指定查询结果集中的唯一标识,即主键,可配置多个;
        column:查询结果集中的列名;
        property:需要映射到java对象中的属性名。
             ResultType:将查询结果集中的各个列,一一映射到java对象中与列名一致的属性中。换句话说,此处查询结果集到java对象的映射关系是固定的,只有列名和属性名相同,该列才能映射成功。

       3- 了解完ResultMap和ResultType,接下来学习ParameterMap和ParameterType就简单多了。

            ParameterMap其实和ResultMap类似,映射关系灵活多变,但ParameterMap并不被各个开发者推荐。相对的,ParameterType则是比较常用,该项与ResultType类似。


  • 相关阅读:
    java数组的相关方法
    spring boot 文件目录
    mysql 数据库安装,datagrip安装,datagrip连接数据库
    linux maven 的安装与配置
    java String字符串常量常用方法
    java 命名规范
    deepin 安装open jdk
    jetbrains(idea,webstorm,pycharm,datagrip)修改背景,主题,添加特效,汉化
    JVM学习(九)volatile应用
    JVM学习(八)指令重排序
  • 原文地址:https://www.cnblogs.com/misscai/p/9784008.html
Copyright © 2011-2022 走看看