????如果多个参数,正好是业务逻辑的数据模型,那么我们就可以直接传入POJO,这样#{}中就可以直接使用属性名
如果多个参数不是业务逻辑的数据模型,没有对应的POJO,为了方便,我们可以传入一个map,此时#{key}就是取出map的值
在接口中创建一个新方法:
Employee?getEmpByMap(Map<String,Object>?map);?
创建新的<select>标签
然后我们再做测试
如果getEmpByMap方法调用频率很高,每次调用都需要重新创建一个map,这样的话,还是一件麻烦事,如果是这种情况,建议编写一个TO(Transfer Object),比如我们在查找分页记录时,需要多项内容:
Page{
int index;
int size;
}
public Employee getEmp(@Param("id") Integet id,String lastName)
????取值:idè#{id/param1} lastNameè#{param2}
public Employee getEmp(Integer id,@Param("e") Employee emp)
????取值:idè#{param1} lastNameè#{param2.lastName/e.lastName}
public Employee getEmpById(List<Integer> ids)
????如果是Collection类型或者是数组,也会特殊处理,封装在map,如果是Collection,那么key是Collection[i],如果是List,那么我们还可以使用list[i],至于数组,array[i]
取值:取第一个id值 idè#{list[0]}
原文:https://www.cnblogs.com/figsprite/p/10735188.html