在 MyBatis 中,可以使用注解 @Param
来处理多参数入参。以下是处理多参数入参的几种方式:
@Param
注解:@Select("SELECT * FROM users WHERE username = #{username} AND age = #{age}")
User getUserByNameAndAge(@Param("username") String username, @Param("age") int age);
Map
或 HashMap
作为入参:@Select("SELECT * FROM users WHERE username = #{username} AND age = #{age}")
User getUserByMap(Map<String, Object> params);
在调用时,可以使用 params.put("username", username)
和 params.put("age", age)
来设置参数。
@Param
注解和 Map
结合使用:@Select("SELECT * FROM users WHERE username = #{params.username} AND age = #{params.age}")
User getUserByMapWithParamAnnotation(@Param("params") Map<String, Object> params);
在调用时,可以使用 params.put("username", username)
和 params.put("age", age)
来设置参数。
无论使用哪种方式,都可以在 SQL 语句中使用 ${}
或 #{}
来引用参数,例如 SELECT * FROM users WHERE username = #{username}
。