1.controller层
HashMap<String,Object> map = new HashMap();
map.put("v_orgid", subjectorg.getOrgid());map.put("v_year", subjectorg.getCreaty());
map.put("v_month",subjectorg.getCreatm() );
map.put("v_subid", subjectorg.getSubjid()+"");
map.put("v_type",1 );
res=service.getDataByOrgidAndSubjid(map);
2.dao层
getSqlSession().selectList("SubjectorgMapper.getDataByOrgidAndSubjid", map);
List<Map<String,Object>> list = new ArrayList<Map<String,Object>>();
if (map.containsKey("sys_refcursor")) {
list = (List<Map<String, Object>>) map.get("sys_refcursor");
}
3.xml
<select id="getDataByOrgidAndSubjid" statementType="CALLABLE">
{call get_subjectinfo(
#{v_orgid, jdbcType=INTEGER, javaType=int, mode=IN},
#{v_year, jdbcType=VARCHAR, javaType=String, mode=IN},
#{v_month, jdbcType=VARCHAR, javaType=String, mode=IN},
#{v_subid, jdbcType=VARCHAR, javaType=String, mode=IN},
#{v_type, jdbcType=INTEGER, javaType=int, mode=IN},
#{sys_refcursor,mode=OUT,jdbcType=CURSOR,javaType=ResultSet,resultMap=subjectorg})
}
</select>
本文介绍了一个使用MyBatis框架通过CallableStatement获取数据的具体示例,包括controller层、dao层及对应的XML配置文件内容。示例展示了如何在不同层级进行参数设置与结果集处理。
4083

被折叠的 条评论
为什么被折叠?



