MyBatis注解@Param使用总结

1、当入参为多个的时候:

必须使用@Param,因为MyBatis是使用反射机制,它需要确定入参对应sql中的哪个值;

2、当入参为一个的时候:

如果不是JavaBean,可以不使用@Param;      

如果是JavaBean,因为MyBatis是通过反射来直接获取对象的属性,在xml中不能使用  #{对象.属性} 或者 ${对象.属性},而是使用 #{对象.属性} 或者 ${对象.属性} 来获取值。如下

 Java代码:

Operation select( QueryFilter queryFilter);

XML(错误):

<select id="select"  resultMap="OperationMap">
    SELECT *
    FROM ${queryFilter.table.name}
    WHERE 1=1  
</select>

XML(正确):

<select id="select"  resultMap="OperationMap">
    SELECT *
    FROM ${table.name}
    WHERE 1=1  
</select>
原文地址:https://www.cnblogs.com/irain/p/7508797.html