@Param注解详细使用方法:

  1. @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}

  2. 可以修饰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})

  3. @Param参数其实可加可不加,不加的话按照顺序依次取出,如参数User user中userName和password的值添加到#{userName}#{password}。但是当DAO方法里多个参数没有封装在一个Javabean中时,则必须加。或者DAO方法参数里有一个以上的JavaBean、集合等情况下也必须加,如:

    @Param(“user”) User user, @Param(“example”) Map map

  4. 使用@Param注解好处:方法参数名可以不与xxMapper.xml一致,但是注意@Param("")里面的值要与要与xxMapper.xml中#{}里的值一致就可以了,如:

    @Param(“user123”) User user
    #{user123.userName}


版权声明:本文为Eiji_g原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。