温馨提示×

mybatis传入对象的方法是什么

小亿
344
2023-12-22 10:17:03
栏目: 编程语言

在MyBatis中,可以通过以下几种方式传入对象:

  1. 通过传入单个参数对象:将对象直接作为参数传入SQL语句中。在Mapper接口中,方法的参数可以是任意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. 通过传入多个参数对象:如果需要传入多个参数对象,可以使用@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>
  1. 通过传入Map对象:可以将多个参数封装到一个Map对象中,然后将该Map对象作为参数传入SQL语句中。

例如,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注解来指定对应的属性名。

0