【詳細説明】@Paramアノテーションの使い方

1。概要

      まず第一に、この注釈がSQLステートメントでのパラメーター割り当て用であることは明らかです。

      @Paramの役割は、アノテーションが追加されたときに、マッパーのメソッドA(int id)などのパラメーターに名前を付けることです。A(@Param( "userId")int id)は、外部が渡されたID値を取り出し、そのパラメーター名userIdを取り出します。SQLステートメントのようにパラメーター値を渡し、#{userId}を介して値をSQLパラメーターに割り当てます。

2.例:

    例1:@Paramは基本的なタイプのパラメーターに注釈を付けます

    マッパーのメソッド:

public User selectUser(@Param("userName") String name,@Param("password") String pwd);

  xmlの<select>タグにマップします

<select id="selectUser" resultMap="User">  
   select * from user  where user_name = #{userName} and user_password=#{password}  
</select>

     user_name =#{userName}およびuser_password =#{password}の場合、userNameとpasswordはすべてアノテーション@Param()から取得され、取得される値は正式なパラメーターStringnameとStringpwdの値です。メソッドで。

    例2:@ParamアノテーションJavaBeanオブジェクト

   SQLステートメントは、@ Paramアノテーションのエイリアスを使用して、オブジェクトの属性を取り出し、それをコピーします

    マッパーのメソッド: 

public List<User> getAllUser(@Param("user") User u);

    xmlの<select>タグにマップします

<select id="getAllUser" parameterType="com.vo.User" resultMap="userMapper">  
        select   
        from user t where 1=1  
             and   t.user_name = #{user.userName}  
              and   t.user_age = #{user.userAge}  
    </select>  

3、注意点

   @Paramアノテーションを使用してパラメーターを宣言する場合、SQLステートメントの値は#{}を使用し、$ {}の値を使用できます。

   @Paramアノテーションを使用してパラメーターを宣言しない場合は、#{}を使用してパラメーターを取得する必要があります。$ {}を使用して値を取得すると、エラーが報告されます。

   @Paramアノテーションが使用されていない場合、パラメーターは1つだけであり、それはJavabeanです。JavaBeanプロパティはSQLステートメントで参照でき、JavaBeanプロパティのみを参照できます。
 

    @Select("SELECT * from Table where id = ${id}")
    Enchashment selectUserById(User user);

 

 

おすすめ

転載: blog.csdn.net/Sunshineoe/article/details/114697944