mybatis怎么接收多个参数

avatar
作者
猴君
阅读量:1

MyBatis可以通过两种方式接收多个参数:

  1. 使用@Param注解:在Mapper接口中的方法参数前添加@Param注解,指定参数的名称,然后在SQL语句中通过参数名来引用这些参数。
public interface MyMapper {     List<User> getUsers(@Param("name") String name, @Param("age") int age); } 
<select id="getUsers" resultType="User">     SELECT * FROM users     WHERE name = #{name}     AND age = #{age} </select> 
  1. 使用Map或者JavaBean:可以将多个参数封装为一个Map或者JavaBean对象,然后将该对象作为方法的参数传递给Mapper接口。
public interface MyMapper {     List<User> getUsers(Map<String, Object> params); } 
<select id="getUsers" resultType="User">     SELECT * FROM users     WHERE name = #{name}     AND age = #{age} </select> 

使用示例:

Map<String, Object> params = new HashMap<>(); params.put("name", "John"); params.put("age", 30); List<User> 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); List<User> users = myMapper.getUsers(params); 

无论使用哪种方式,MyBatis都会根据参数的名称或者属性名来匹配SQL语句中的参数。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!