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类似。


  • 相关阅读:
    Linux入门学习(二)
    Linux入门学习(一)
    正则表达式(二)
    正则表达式入门
    我的第一个博客
    Java每日问题汇总-04
    Java每日问题汇总-03
    Java每日问题汇总-02
    #{ }和${ }参数值的获取的区别
    Cause: org.apache.ibatis.binding.BindingException: Parameter 'eName' not found.解决方案
  • 原文地址:https://www.cnblogs.com/misscai/p/9784008.html
Copyright © 2011-2022 走看看