zoukankan      html  css  js  c++  java
  • 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

     

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

     

  • 相关阅读:
    python自动发邮件库yagmail
    Vmware改成bridge方式联网
    centos7 更新Firefox版本
    无法应用转换程序,请检查指定的转换程序路径是否有效
    python中list/tuple/dict/set的区别
    Python中的*arg和**kwarg
    centos7.4下搭建JDK+Tomcat+Nginx+Mysql+redis+Mongodb+maven+Git+Jenkins
    用 Apache Derby 进行 ODBC 编程
    Derby 命令
    Python与数据库
  • 原文地址:https://www.cnblogs.com/tangshun100/p/13344730.html
Copyright © 2011-2022 走看看