//分页查询教师信息
public List<Teacher> findTeacherByPage(Map<String, Object> map);
相应地,这里用到了Map接口,就应该引入此接口:import java.util.Map。
在执行类CollectionDemo中,调用findTeacherByPage方法的相关代码如下:可以看出,我们先把参数放在了一个Map中,这样我们就可以在相应的SQL语句中以#{…}的形式引用这些参数了。如下所示:
Map<String, Object> params =
new HashMap<String, Object>();
//以name字段升序排序,
params.put("sort", "name");
params.put("dir", "asc");
//查询结果从第0条开始,查询2条记录
params.put("start", 0);
params.put("limit", 2);
//查询职称为教授或副教授的教师
params.put("title", "%教授");
//分页查询教师信息
List<Teacher> teachers =
mapper.findTeacherByPage(params);
<selectid="findTeacherByPage"resultMap="supervisorResultMap"
parameterType="java.util.Map">
select * from teacher where title like #{title}
order by ${sort} ${dir} limit #{start},#{limit}
</select>
与以前一样,在order by子句中应使用${…}的方式。实际上,这里的parameterType="java.util.Map"可以不要。
运行结果如下: