单个参数
可以接受基本类型,对象类型。这种情况MyBatis可直接使用这个参数,不需要经过任 何处理。
多个参数
任意多个参数,都会被MyBatis重新包装成一个Map传入。Map的key是param1,param2,或者0,1…,值就是参数的值
理解: (String id,String isread)
此时参数封装成 {id:id,isread:isread}
命名参数
为参数使用@Param起一个名字,MyBatis就会将这些参数封装进map中,key就是我们自己指定的名字
理解:
service:(userid,isread)
(@Param("userid") String id,String isread)
此时参数封装成 {userid:id,isread:isread}
sql: user_id=#{userid}...is_read=#{isread}
POJO
当这些参数属于我们业务POJO时,我们直接传递POJO
Map
我们也可以封装多个参数为map,直接传递
Collection/Array
会被MyBatis封装成一个map传入, Collection对应的key是collection,Array对应的key是array. 如果确定是List集合,key还可以是list.