详解Mybatis 「resultMap」中的autoMapping属性




    
        
    
    


resultMap

**resultType的主要作用是将查询结果封装到pojo中。(前提是pojo类中的
属性名和查询到的数据库的字段名保持一致);

如果sql查询到的字段与pojo的属性名不一致,则需要使用resultMap将字段名和属性名对应起来,进行手动配置封装,将结果映射到pojo中。

使用下列语句进行结果的映射:




pojo:
代表简单无规则java对象
关于pojo详情请查看链接:

https://www.jianshu.com/p/b934b0d72602

autoMapping

主要功能是完成结果集的映射,在映射是会将resultMapping中的字段按照名称相同的方式映射到返回类型的对应属性上,在映射时会自动忽略大小写。比如查询出的字段是Student但是返回类型中有一个属性是student,并且有一个setstudent的方法,这样是可以匹配成功的,能够自动完成映射,将返回的值映射给对应的返回类型中的Id。

autoMapping 共有两个属性 true和false.true表示能够自动映射,false则不会自动映射。

拓展

也可以通过第二种方式完成映射
resultType

 

当我们指定一个查询语句的返回结果是,可以直接指定result Type 也可以指定result Map,实际上mybatis对结果集进行处理时都是通过的resultMap处理,当指定resultType时mybatis会自动生成一个空的resultMap,然后指定其对应的type为我们指定的resultType类型。

Mybatis的自动映射策略默认是开启的,而且默认是只对非嵌套的resultMap进行自动映射。这是通过Mybatis的全局配置autoMappingBehavior参数配置的。它一共有三种取值,分别是NONE、PARTIAL和FULL。

l NONE表示不启用自动映射

l PARTIAL表示只对非嵌套的resultMap进行自动映射

l FULL表示对所有的resultMap都进行自动映射

你可能感兴趣的:(Mybatis)