mybatis总结--传参和返回值的几种类型
首先讨论传入参数的几种类型:
传入单个参数时:
只有一个情形:
接口:
映射文件:
不管传入的是基本数据类型的包装类还是String类型,sql中的形参名不管是否和接口中的形参名相同,都可以自动识别后对应上。Mybatis对于单个参数不会做特殊处理,可以用任意参数名来接受实参
传入多个参数时:
1-按照顺序传参
接口:
映射文件:
这里连parameterType属性都没有写,其中sql中的形参名必须写成” arg+索引位置”的形式,或者” param+索引位置”的形式。
Mybatis对于传入的多个参数会做特殊处理,即把他们封装成一个map,其中的内容是key:param1....paramN,而对应的value值就是传入的参数值,#{}就是就是从map中获取指定的key的value,即#{param1},#{param2}等。
2-使用@Param注解
接口:
映射文件:
映射文件sql中的形参名必须和@Param注解的命名一样。
3-实例对象
接口:
映射文件:
控制器:
注意:
其实也可以用实体对象只传一个参数。
Sql中的形参名必须和实体类中的成员属性名一致
在进行查询操作时,一些没有用到的的字段在实体类对象中可以忽略掉、不初始化赋值,
在进行新增操作时,自增长、默认的、或者不想进行赋值的字段可以直接用null代替;
4-Map传参
接口:
映射文件:
控制器:
注意:参数类型是map,这里写成了java.util.Map
5-List
接口:
映射文件:
控制器:
6-数组传参
接口:
映射文件:
控制器:
返回值的几种类型
直接参考该博文:
——本文引用整理了许多博客博主文章中的例子,具体来源已经记不清。未作标注,敬请谅解。