Mybatis传参规则
1.单值传参
void deleteItems(String name)
Mybatis的源码要求单值传参,取值时通过下标的方式取值(取值时参数名称可以任意)
2.多值传参
void deleteItems(String name,String sex)
Mybatis高版本的源码中做了规定,自动的将多值转化为单值 即封装成了MAP集合 K-V 结构
K 在老版本中取得时@Param注解里面的名字作为Key
但在高版本的mybatis里面采用的是自动将参数名称作为Key进行存储
3.其他类型
void deleteItems(Integer [] ids)
为什么写array而不写ids呢?
因为 Integer [] ids 作为一个整体 其实还是一个单值传递 所以并不能以key来取出相应的数据 所以只能写array
如果将来参数类型为如下几种格式时 采用对应的方式进行遍历
-
1.单值传参 Array类型 collection = “array”
-
2.单值传参 List类型 collection = “list”
-
3.单值传参 Map类型 collection = “map中的key”
void deleteItems(@Param(“map1” ) Map map1) 这样类似的需要加@Param注解来手动封装 再利用key - value方式取出数据