MyBatis可以通过两种方式接收多个参数:
- 使用@Param注解:在Mapper接口中的方法参数前添加@Param注解,指定参数的名称,然后在SQL语句中通过参数名来引用这些参数。
public interface MyMapper { ListgetUsers(@Param("name") String name, @Param("age") int age); }
- 使用Map或者JavaBean:可以将多个参数封装为一个Map或者JavaBean对象,然后将该对象作为方法的参数传递给Mapper接口。
public interface MyMapper { ListgetUsers(Map params); }
使用示例:
Mapparams = new HashMap<>(); params.put("name", "John"); params.put("age", 30); List users = myMapper.getUsers(params);
或者:
public class UserParams { private String name; private int age; // getters and setters } UserParams params = new UserParams(); params.setName("John"); params.setAge(30); Listusers = myMapper.getUsers(params);
无论使用哪种方式,MyBatis都会根据参数的名称或者属性名来匹配SQL语句中的参数。