MyBatis中的param
和@Param
都是用來(lái)在SQL語(yǔ)句中傳遞參數(shù)的,但是有一些區(qū)別:
param
是在XML配置文件中使用的,用來(lái)指定方法參數(shù)的別名,以便在SQL語(yǔ)句中引用。例如:<select id="getUserById" parameterType="int" resultType="User">
select * from user where id = #{param}
</select>
這里的#{param}
就是引用了方法參數(shù)的別名。
@Param
是在Java方法參數(shù)上使用的注解,用來(lái)指定方法參數(shù)的別名,以便在SQL語(yǔ)句中引用。例如:public User getUserById(@Param("id") int id);
這里的@Param("id")
就是指定了方法參數(shù)的別名為id
,在SQL語(yǔ)句中可以使用#{id}
來(lái)引用。
總的來(lái)說(shuō),param
是在XML配置文件中指定方法參數(shù)的別名,而@Param
是在Java方法參數(shù)上使用的注解來(lái)指定方法參數(shù)的別名。兩者的作用都是為了在SQL語(yǔ)句中引用方法參數(shù)。