MyBatis案例六:多参数处理
- 使用注解@Param(“参数名”)
public List<Emp> find(@Param("ename") String ename,@Param("job")String job);
mapper中:
<select id="find" resultType="com.neu.domain.Emp">
select * from emp where ename = #{ename} and job = #{job}
</select>
- 使用参数索引号,从0开始,或参数名:从param1开始
public List<Emp> find(String ename,String job);
mapper中:
<select id="find" resultType="com.neu.domain.Emp">
select * from emp where ename = #{0} and job = #{1}
</select>
或
<select id="find" resultType="com.neu.domain.Emp">
select * from emp where ename = #{param1} and job = #{param2}
</select>
- 使用Map集合传递,键为引用名,值为要传递的值
public List<Emp> find(Map<String, String> params);
mapper中:
<select id="find" resultType="com.neu.domain.Emp">
select * from emp where ename = #{ename} and job = #{job}
</select>
测试代码中:
Map<String, String> params = new HashMap<String, String>();
params.put("ename","JONES");
params.put("job", "MANAGER");
List<Emp> list = empMapper.find(params);
- 使用实体类,把参数封装到实体类中,属性明与引用名相同即可(如果为此新创建一个实体类,不推荐使用)