在 MyBatis 中,可以使用注解 @Param
來處理多參數(shù)入?yún)ⅰR韵率翘幚矶鄥?shù)入?yún)⒌膸追N方式:
@Param
注解:@Select("SELECT * FROM users WHERE username = #{username} AND age = #{age}")
User getUserByNameAndAge(@Param("username") String username, @Param("age") int age);
Map
或 HashMap
作為入?yún)ⅲ?/li>
@Select("SELECT * FROM users WHERE username = #{username} AND age = #{age}")
User getUserByMap(Map<String, Object> params);
在調用時,可以使用 params.put("username", username)
和 params.put("age", age)
來設置參數(shù)。
@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)
來設置參數(shù)。
無論使用哪種方式,都可以在 SQL 語句中使用 ${}
或 #{}
來引用參數(shù),例如 SELECT * FROM users WHERE username = #{username}
。