默认参数传递,注解方式传递,Map方式传递
mapper.xml
<!-- 默认参数传递
我们可以看到,我们没有写parameterType属性,默认mybatis中的定义的param1、param2、param3、param4填写到对应sql语句中。
-->
<select id="find" resultType="Student">
select * from student order by ${param1} ${param2} limit ${param3},${param4}
</select>
接口 StudentDao 文件
//默认参数传递
public List<Student> find(String sort,String dir,int start,int limit);
//注解方式参数传递
public List<Student> find2(@Param("sort") String sort, @Param("dir")String dir,@Param("start")int start, @Param("end")int limit);
//map方式参数传递
public List<Student> find3(Map<String,Object> parames);
测试文件
/**
* 测试默认参数传递
*/
@Test
public void testFind () {
List<Student> students = studentDao.find("id", "desc", 0, 3);
System.out.println(students);
}
/**
* 测试注解方式参数传递
*/
@Test
public void testFind2 () {
List<Student> students = studentDao.find2("id", "desc", 0, 3);
System.out.println(students);
}
/**
* Map方式参数传递
*/
@Test
public void testFind3 () {
Map<String,Object> params = new HashMap<String, Object>();
params.put("sort", "id");
params.put("dir", "desc");
params.put("start", 0);
params.put("end", 3);
List<Student> students = studentDao.find3(params);
System.out.println(students);
}