1.注解传参
2.默认命名方式
//分页查询教师信息
public List<Teacher> findTeacherByPage(
String sort,//排序字段
String dir, //排序方向
int start, //起始记录
int limit //记录条数
);
<select id="findTeacherByPage" resultMap="supervisorResultMap">
select * from teacher
order by ${param1} ${param2} limit #{param3},#{param4}
</select>
3.map方式
//分页查询教师信息
public List<Teacher> findTeacherByPage(Map<String, Object> map);
<select id="findTeacherByPage" resultMap="supervisorResultMap"
parameterType="java.util.Map">
select * from teacher where title like #{title}
order by ${sort} ${dir} limit #{start},#{limit}
</select>
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);
4.混合使用
//分页查询教师信息
public List<Teacher> findTeacherByPage(
Map params, //查询条件
int start, //起始记录
int limit //记录条数
);
<select id="findTeacherByPage" resultMap="supervisorResultMap">
select * from teacher where teacher.title like
#{param1.title} order by ${param1.sort} ${param1.dir} limit #{param2} ,#{param3}
</select>
Map<String, Object> params =
new HashMap<String, Object>();
//以name字段升序排序,
params.put("sort", "name");
params.put("dir", "asc");
//查询职称为教授或副教授的教师
params.put("title", "%教授");
//查询教师分页信息
List<Teacher> teachers =
//以name字段升序排序,从第0条记录开始查询。
//查询2条记录
mapper.findTeacherByPage(params,0, 2);