阅读量:2
在 MyBatis 中,可以通过以下几种方式传递多个参数:
- 使用对象作为参数:可以将多个参数封装到一个对象中,然后将该对象作为参数传递给 MyBatis 的方法。在 SQL 语句中可以通过对象的属性名来访问对应的参数值。
public class User { private String name; private int age; // getters and setters } // MyBatis 接口方法 public User getUserByNameAndAge(User user);
在 XML 配置文件中的 SQL 语句中可以这样使用:
<select id="getUserByNameAndAge" parameterType="User" resultType="User"> SELECT * FROM users WHERE name=#{name} AND age=#{age} </select>
- 使用
@Param
注解:可以通过@Param
注解将多个参数命名,并将其传递给 MyBatis 的方法。在 SQL 语句中可以使用@Param
注解中定义的参数名来访问对应的参数值。
// MyBatis 接口方法 public List<User> getUserByNameAndAge(@Param("name") String name, @Param("age") int age);
在 XML 配置文件中的 SQL 语句中可以这样使用:
<select id="getUserByNameAndAge" resultType="User"> SELECT * FROM users WHERE name=#{name} AND age=#{age} </select>
- 使用 Map 作为参数:可以将多个参数封装到一个 Map 中,然后将该 Map 作为参数传递给 MyBatis 的方法。在 SQL 语句中可以通过键名来访问对应的参数值。
// MyBatis 接口方法 public List<User> getUserByNameAndAge(Map<String, Object> params);
在 XML 配置文件中的 SQL 语句中可以这样使用:
<select id="getUserByNameAndAge" parameterType="java.util.Map" resultType="User"> SELECT * FROM users WHERE name=#{name} AND age=#{age} </select>
以上是 MyBatis 中传递多个参数的几种方式,根据具体的情况选择适合的方式即可。