1. 程式人生 > >@Param註解 關於mybatis的@Param註解和引數

@Param註解 關於mybatis的@Param註解和引數

關於mybatis的@Param註解和引數

引用 https://www.cnblogs.com/whisper527/p/6568028.html

薇飄意

1,使用@Param註解

當以下面的方式進行寫SQL語句時:

    @Select("select column from table where userid = #{userid} ")
    public int selectColumn(int userid);

當你使用了使用@Param註解來宣告引數時,如果使用 #{} 或 ${} 的方式都可以。

    @Select("select column from table where userid = ${userid} ")
    public int selectColumn(@Param("userid") int userid);

 

當你不使用@Param註解來宣告引數時,必須使用使用 #{}方式。如果使用 ${} 的方式,會報錯。

    @Select("select column from table where userid = ${userid} ")
    public int selectColumn(@Param("userid") int userid);

 

2,不使用@Param註解

不使用@Param註解時,引數只能有一個,並且是Javabean。在SQL語句裡可以引用JavaBean的屬性,而且只能引用JavaBean的屬性。

    // 這裡id是user的屬性

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

1,使用@Param註解

當以下面的方式進行寫SQL語句時:

    @Select("select column from table where userid = #{userid} ")
    public int selectColumn(int userid);

當你使用了使用@Param註解來宣告引數時,如果使用 #{} 或 ${} 的方式都可以。

    @Select("select column from table where userid = ${userid} ")
    public int selectColumn(@Param("userid") int userid);

 

當你不使用@Param註解來宣告引數時,必須使用使用 #{}方式。如果使用 ${} 的方式,會報錯。

    @Select("select column from table where userid = ${userid} ")
    public int selectColumn(@Param("userid") int userid);

 

2,不使用@Param註解

不使用@Param註解時,引數只能有一個,並且是Javabean。在SQL語句裡可以引用JavaBean的屬性,而且只能引用JavaBean的屬性。

    // 這裡id是user的屬性

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