-
@Param这个注解是用来解决接口方法有多个参数时、xxMapper.xml文件绑定参数混淆问题。需要在DAO方法形参前面添加@Param(“xxx”),来区分不同的需要绑定到xxMapper.xml的参数。注意双引号里的值要与xxMapper.xml中#{}中的值相等,如:
DAO方法:public void list (@Param(“abc1”) String abc1, @Param(“abc2”) String abc2);
xxMapper.xml中:values(#{abc1},#{abc2} -
可以修饰JavaBean对象、Map集合等,如:
public void list (@Param(“param”) User user);
xxMapper.xml中:where username = #{param.userName}List getUser(@Param(“param”) Map map);
xxMapper.xml中values:(#{param.id},#{param.name},#{param.age},#{param.sex}) -
@Param参数其实可加可不加,不加的话按照顺序依次取出,如参数User user中userName和password的值添加到#{userName}#{password}。但是当DAO方法里多个参数没有封装在一个Javabean中时,则必须加。或者DAO方法参数里有一个以上的JavaBean、集合等情况下也必须加,如:
@Param(“user”) User user, @Param(“example”) Map map
-
使用@Param注解好处:方法参数名可以不与xxMapper.xml一致,但是注意@Param("")里面的值要与要与xxMapper.xml中#{}里的值一致就可以了,如:
@Param(“user123”) User user
#{user123.userName}
@Param注解详细使用方法:
最新推荐文章于 2024-03-08 10:57:26 发布