在MyBatis中,可以通過以下幾種方式傳入對象:
例如,Mapper接口的方法定義如下:
void insertUser(User user);
在XML映射文件中,可以直接使用傳入的對象:
<insert id="insertUser" parameterType="com.example.User">
INSERT INTO user (id, name) VALUES (#{id}, #{name})
</insert>
@Param
注解來指定參數的名稱。在XML映射文件中,可以通過指定參數的名稱來引用對應的參數對象。例如,Mapper接口的方法定義如下:
void updateUser(@Param("id") int id, @Param("name") String name);
在XML映射文件中,可以通過指定參數的名稱來引用對應的參數對象:
<update id="updateUser">
UPDATE user SET name = #{name} WHERE id = #{id}
</update>
例如,Mapper接口的方法定義如下:
void deleteUser(Map<String, Object> params);
在XML映射文件中,可以通過Map的key來引用對應的參數對象:
<delete id="deleteUser">
DELETE FROM user WHERE id = #{id} AND name = #{name}
</delete>
需要注意的是,當傳入參數為對象時,MyBatis會根據對象的屬性名和SQL語句中的占位符進行自動映射。如果對象的屬性名和SQL語句中的占位符不一致,可以使用@Param
注解來指定對應的屬性名。