溫馨提示×

mybatis傳入對象的方法是什么

小億
294
2023-12-22 10:17:03
欄目: 編程語言

在MyBatis中,可以通過以下幾種方式傳入對象:

  1. 通過傳入單個參數(shù)對象:將對象直接作為參數(shù)傳入SQL語句中。在Mapper接口中,方法的參數(shù)可以是任意Java對象,MyBatis會將該對象傳遞給SQL語句。

例如,Mapper接口的方法定義如下:

void insertUser(User user);

在XML映射文件中,可以直接使用傳入的對象:

<insert id="insertUser" parameterType="com.example.User">
    INSERT INTO user (id, name) VALUES (#{id}, #{name})
</insert>
  1. 通過傳入多個參數(shù)對象:如果需要傳入多個參數(shù)對象,可以使用@Param注解來指定參數(shù)的名稱。在XML映射文件中,可以通過指定參數(shù)的名稱來引用對應(yīng)的參數(shù)對象。

例如,Mapper接口的方法定義如下:

void updateUser(@Param("id") int id, @Param("name") String name);

在XML映射文件中,可以通過指定參數(shù)的名稱來引用對應(yīng)的參數(shù)對象:

<update id="updateUser">
    UPDATE user SET name = #{name} WHERE id = #{id}
</update>
  1. 通過傳入Map對象:可以將多個參數(shù)封裝到一個Map對象中,然后將該Map對象作為參數(shù)傳入SQL語句中。

例如,Mapper接口的方法定義如下:

void deleteUser(Map<String, Object> params);

在XML映射文件中,可以通過Map的key來引用對應(yīng)的參數(shù)對象:

<delete id="deleteUser">
    DELETE FROM user WHERE id = #{id} AND name = #{name}
</delete>

需要注意的是,當(dāng)傳入?yún)?shù)為對象時,MyBatis會根據(jù)對象的屬性名和SQL語句中的占位符進(jìn)行自動映射。如果對象的屬性名和SQL語句中的占位符不一致,可以使用@Param注解來指定對應(yīng)的屬性名。

0