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-数组传参

    接口:

    映射文件:

    控制器:

返回值的几种类型

 

直接参考该博文:https://www.cnblogs.com/ye-feng-yu/p/10987587.html

 

——本文引用整理了许多博客博主文章中的例子,具体来源已经记不清。未作标注,敬请谅解。

 

原文地址:https://www.cnblogs.com/tangshun100/p/13344730.html