300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > 你所不知的 mybatis中的 parameterType和 resultType

你所不知的 mybatis中的 parameterType和 resultType

时间:2021-03-06 09:36:49

相关推荐

你所不知的  mybatis中的 parameterType和 resultType

mybatis中SQL接受的参数分为:(1)基本类型(2)对象(组合对象)(3)List(4)数组(5)Map

无论传哪种参数给mybatis,他都会将参数放在一个Map中:

如果传入基本类型:变量名作为key,变量值作为value 此时生成的map只有一个元素。

如果传入对象: 对象的属性名作为key,属性值作为value,

如果传入List: "list"作为key,这个List是value (这类参数可以迭代,利用标签实现循环)

如果传入数组: "array"作为key,数组作为value(同上)

传入List<T>,Array<T>时,parameterType可以写成list,写他们泛型中的类型T也可以。

如果传入Map: 键值不变。

通用法则:parameterType 在不知道写什么时,写成"map"肯定不会出错

但是对于resultType而言,就不一样了,

如果查询返回的一个List<User>,或者Array<User> ,或者单个User对象,resultType都因该写成user,

但是可以用list或array接受查询结果。

如果查询结果是指定的字段,例如 select name, gender from user;resultType可以写成map,参数会自动封装,

通过map.get(name)取值即可。

单独传入list或array时,foreach中的collection必须是list或array,不不管变量的具体名称是什么

MAP中有list或array时,foreach中的collection必须是具体list或array的变量名。

JAVA对象中有list或array时,foreach中的collection必须是具体list或array的变量名

/weixin_38303684/article/details/78886375

/blog/2269869

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。