Mybatis 类属性和字段映射小小分析

       在上一篇 【Mybatis 点点滴滴】博客中,写到了 Mybatis 能够将类属性和表字段自动对应起来,在 parameterType属性值直接填写 POJO 类的名称即可(首字母不区分大小写),在 sql 语句中就可以直接写该 POJO 类的属性名了,以为他是按照属性名直接进行封装和拆解,但是当传递的参数为数组或者集合时,在 Xxxmapper.xml 文件中填写数组名或者集合名就不顶用了,这是为什么呢?

       关联源码后,发现并不是直接按照属性名进行“映射”,而是进行一个 Map集合的封装,属性名作为了 Map 集合的 key,将属性值作为了 value 存储了到 Map 中,当传递数组或者集合时,也是封装成了 map 集合,key不是数组或者集合的名字,而是数组类型或者集合类型(比如Integer[],key 就是Integer)

仔细一想,我上面的想法好像错了,填写的的确还是属性名,把 Integer[] 当成一个类,里面的属性就是 Integer 呀,所以填写 Integer 是理所应当的啊,本来就不应该填写数组名。

原文地址:https://www.cnblogs.com/daimajun/p/7082691.html