[转]MyBatis之传到参数
[转]MyBatis之传入参数在MyBatis的select、insert、update、delete这些元素中都提到了[html]?view plaincopy
[转]MyBatis之传入参数
在MyBatis的select、insert、update、delete这些元素中都提到了[html]?view plaincopy- <select?id="selectTeacher"?parameterType="int"?resultType="com.myapp.domain.Teacher">??
- ????select?*?from?Teacher?where?c_id=#{id}??
- </select>??
java代码
[java]?view plaincopy- List<Teacher>?tList?=?teacherMapper.selectTeacher(2);????
- for?(Teacher?entityTemp?:?tList)?{????
- ????System.out.println(entityTemp.toString());????
- }????
JAVA实体类型参数示例:[html]?view plaincopy- <select?id="selectTeacher"?parameterType="com.myapp.domain.Teacher"?resultType="com.myapp.domain.Teacher">??
- ????select?*?from?Teacher?where?c_id=#{id}??
- </select>??
[java]?view plaincopy- java代码??
- ??
- Teacher?queryTeacher=new?Teacher();??
- queryTeacher.setId(2);??
- List<Teacher>?tList?=?teacherMapper.selectTeacher(queryTeacher);????
- for?(Teacher?entityTemp?:?tList)?{????
- ????System.out.println(entityTemp.toString());?}??
Map参数示例:
[html]?view plaincopy- <select?id="selectTeacher"?parameterType="Map"?resultType="com.myapp.domain.Teacher">??
- ????select?*?from?Teacher?where?c_id=#{id}?and?sex=#{sex}??
- </select>??
[java]?view plaincopy- java代码??
- ??
- Map<String,String>?map=new?HasMap<String,String>();??
- map.put("id","2");??
- map.put("sex","男");??
- List<Teacher>?tList?=?teacherMapper.selectTeacher(map);????
- for?(Teacher?entityTemp?:?tList)?{????
- ????System.out.println(entityTemp.toString());?}??
?另外MyBatis还提供了一个使用注解来参入多个参数的方式。这种方式需要在接口的参数上添加@Param注解
示例:
接口方法
[java]?view plaincopy- public?List<Teacher>?selectTeacher(@Param(value="id")?String?id,@Param(value="sex")?String?sex);??
XML文件
[html]?view plaincopy- <select?id="selectTeacher"??resultType="com.myapp.domain.Teacher">??
- ????select?*?from?Teacher?where?c_id=#{id}?and?sex=#{sex}??
- </select>??
测试代码
[java]?view plaincopy- List<Teacher>?tList?=?teacherMapper.selectTeacher("2","男");????
- for?(Teacher?entityTemp?:?tList)?{????
- ????System.out.println(entityTemp.toString()); ??