mybatis param和@Param區(qū)別是什么

小樊
96
2024-08-03 05:44:12

MyBatis中的param@Param都是用來(lái)在SQL語(yǔ)句中傳遞參數(shù)的,但是有一些區(qū)別:

  1. param是在XML配置文件中使用的,用來(lái)指定方法參數(shù)的別名,以便在SQL語(yǔ)句中引用。例如:
<select id="getUserById" parameterType="int" resultType="User">
    select * from user where id = #{param}
</select>

這里的#{param}就是引用了方法參數(shù)的別名。

  1. @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ù)。

0