xml里sql语句为(如下) 意思为查找50007表中的全部学生id
<select id="id50007" parameterType="map" resultType="hashmap">
select t.id from student t
)
</select>
然后返回的数据类型为hashmap(如下)
List<student> id50007(Map<String, String> params);
service层已经接受了已经传过来的stuid(如下),该如何返回id并且进行循环判断找出id等于stuid的学生
String stuid = params.get("ts");
//此处返回id
//此处添加循环判断
直接用sql的where条件找不是方便
//Iterator迭代
Iterator it=hm.keySet().iterator();
while(it.hasNext())
{
//取出key
String key=it.next().toString();
//通过key取出values
Emp emp=(Emp)hm.get(key);
if(hm.containsKey("stuid"))//containsKey()返回boolean
{
System.out.println("找到");
Emp emp=(Emp)hm.get("stuid");
System.out.println("stuid:"+emp.getStuid());
}
}
建议这样修改
service 层
String stuid = params.get("ts");
List<Student> list = reportMapper.id50007(params);
mapper层
List<student> id50007(@Param("id") String id);
sql
<select id="id50007" resultType="Student">
select t.id from student t WHERE id = #{id}
</select>
也不知道你到底想问什么。。。resultType是hashmap,下面的映射却是List<student>,sql也只查了一个id....