mybatis的parameterType可以不写(我一般都不写)

多在mapper接口写@Param注解, 那么,你在mapper.xml  alt+/会有提示

为什么不写parameterType也可以运行成功?  因为mybatis能自动识别,但返回值类型不能不写

(idea-mybatis插件也不生成parameterType,刚好,以后推荐不写parameterType)

mybatis自动识别入参对象, 传入单个map或单个对象,无需写@Param注解   如@Param("map")  Map<String, Object> map 

那么什么时候必须在mapper接口上写@Param注解呢,   mapper接口中有多个参数(每个对象或参数都要加@Param注解), 或一个 String, 必须使用@Param注解, 

 

MyBatis还提供了一个使用注解来参入多个参数的方式。这种方式需要在接口的参数上添加@Param注解

  1.  
    List<NoticeModel> getRevNoticeList(
  2.  
    @Param("queryParam") NoticeQueryParam queryParam,
  3.  
    @Param("getDeptIds") List<String> getDeptIds,
  4.  
    @Param("getProjectIds") String getProjectIds,
  5.  
    @Param("map") Map map
  6.  
    );

那么, 不写parameterType, 在mapper.xml如何使用

如果是对象NoticeQueryParam queryParam, 直接在mapper.xml使用   queryParam对象.成员变量

@Param("map") Map map    map对象.成员变量

如果是List<String> getDeptIds  直接在mapper.xml 中使用getDeptIds  不需要 对象.成员变量
如果是String getProjectIds  直接在mapper.xml 中使用getProjectIds   不需要 对象.成员变量

posted @ 2020-10-10 20:22  路要一步一步走  阅读(4671)  评论(0编辑  收藏  举报