MyBatisでの@paramアノテーションの使い方は?
MyBatisでは、@ParamアノテーションはMapperメソッドのパラメータに別名を付けるために使用され、SQL文中でそのパラメータを使うためのものです。@ParamアノテーションはMapperインターフェースのメソッドのパラメータにのみ使用でき、Mapperインターフェースのメソッドには使用できません。
たとえば、次のようなMapperインタフェースがあるとします:
public interface UserMapper {
User getUserById(@Param("id") Long id);
}
上記の例では、@ParamアノテーションはgetUserByIdメソッドのidパラメータに”id”という別名を付けました。対応するXMLマッピングファイルでは、この別名を使用してパラメータを参照することができます。例えば、以下のようになります:
<select id="getUserById" resultType="User">
SELECT * FROM user WHERE id = #{id}
</select>
SQL文内で@Param注釈で指定された別名を使用してパラメータを参照することができるため、SQL文がより明確で読みやすくなります。