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注解
-
List<NoticeModel> getRevNoticeList(
-
@Param("queryParam") NoticeQueryParam queryParam,
-
@Param("getDeptIds") List<String> getDeptIds,
-
@Param("getProjectIds") String getProjectIds,
-
@Param("map") Map map
-
);
那么, 不写parameterType, 在mapper.xml如何使用
如果是对象NoticeQueryParam queryParam, 直接在mapper.xml使用 queryParam对象.成员变量
@Param("map") Map map map对象.成员变量
如果是List<String> getDeptIds 直接在mapper.xml 中使用getDeptIds 不需要 对象.成员变量
如果是String getProjectIds 直接在mapper.xml 中使用getProjectIds 不需要 对象.成员变量