亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Mybatis在什么情況下需要使用@param注解

發布時間:2020-11-05 18:50:33 來源:億速云 閱讀:1799 作者:Leah 欄目:開發技術

這篇文章運用簡單易懂的例子給大家介紹Mybatis在什么情況下需要使用@param注解,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

一、方法有多個參數

例如:

接口方法:

@Mapper
public interface UserMapper {
  Integer insert(@Param("username") String username, @Param("address") String address);
}

對應的xml:

<insert id="insert" parameterType="org.javaboy.helloboot.bean.User">
  insert into user (username,address) values (#{username},#{address});
</insert>

原因:當不使用 @Param 注解時,mybatis 是不認識哪個參數叫什么名字的,盡管在接口中定義了參數的名稱,mybatis仍然不認識。這時mybatis將會以接口中參數定義的順序和SQL語句中的表達式進行映射,這是默認的。

二、方法參數要取別名

例如

@Mapper
public interface UserMapper {
  Integer insert(@Param("username") String username, @Param("address") String address);
}

對應的xml:

<insert id="insert" parameterType="org.javaboy.helloboot.bean.User">
  insert into user (username,address) values (#{username},#{address});
</insert>

三、XML 中的 SQL 使用了 $ 拼接sql

$ 會有注入的問題,但是有的時候不得不使用 $ 符號,例如要傳入列名或者表名的時候,這個時候必須要添加 @Param 注解

例如:

@Mapper
public interface UserMapper {
  List<User> getAllUsers(@Param("order_by")String order_by);
}

對應xml:

<select id="getAllUsers" resultType="org.javaboy.helloboot.bean.User">
  select * from user
  <if test="order_by!=null and order_by!=''">
    order by ${order_by} desc
  </if>
</select>

四、動態 SQL 中使用了參數作為變量

如果在動態 SQL 中使用參數作為變量,那么也需要 @Param 注解,即使你只有一個參數。例如如下方法:

@Mapper
public interface UserMapper {
  List<User> getUserById(@Param("id")Integer id);
}

對應xml:

<select id="getUserById" resultType="org.javaboy.helloboot.bean.User">
  select * from user
  <if test="id!=null">
    where id=#{id}
  </if>
</select>

關于Mybatis在什么情況下需要使用@param注解就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

喀喇| 东乡族自治县| 兴文县| 仲巴县| 江达县| 鄂州市| 屏南县| 海阳市| 读书| 鹤山市| 安达市| 天水市| 南郑县| 南平市| 台中市| 恩平市| 镇远县| 武隆县| 玉门市| 周至县| 锦州市| 凌源市| 抚顺市| 怀安县| 西乡县| 竹溪县| 珠海市| 茶陵县| 松原市| 秦皇岛市| 城步| 余庆县| 嵊州市| 隆子县| 太康县| 微博| 荔浦县| 连江县| 布尔津县| 即墨市| 嘉义市|