@Param
简介:
MyBatis中的@Param是一种用于标记方法参数的注解,主要用于指定参数的名称和类型,以便在
Mapper XML文件中引用该参数。
注意:
当Mapper方法有多个参数时,使用@Param注解是非常必要的。不使用@Param时,在 Mapper XML文件中 只能通过位置来识别参数,而使用@Param则可以通过名称来访问
基本用法
- 单个参数:当方法只有一个参数时,可以直接使用@Param注解为参数命名。例如,
在Mapper XML文件中可以通过void insertUser(@Param("user") User user);
#{user}
引用该参数 user
2.多个参数:当方法有多个参数时,可以使用@Param注解为每个参数命名,避免名称冲突。例如,
void insertUserAndRole(@Param("user") User user, @Param("role") Role role);
在Mapper XML文件中可以通过 #{user}
和 #{role}
分别引用这些参数。
3.对象参数:当方法参数是一个对象时,可以使用@Param注解为对象命名,并在XML中通过对象的属性引用。例如,
void insertUser(@Param("user") User user);
在Mapper XML中可以通过 #{user.id}
和 #{user.name}
引用对象的属性。
4.集合参数:当方法参数是一个集合时,可以使用@Param注解为集合命名,并在SQL中使用foreach标签遍历集合。例如,
void insertUsers(@Param("users") List<User> users);
在Mapper XML中可以通过 #{users}
引用集合