在 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}
。