您的位置:首页 > 数据库

SQL SERVER和ORACEL通过MYBATILS调用存储过程

2017-10-30 13:39 288 查看
1.SQL SERVER
1)controller层:
String startTime = null;
String endTime = null;
Response res =null;
HashMap<String,Object> map = new HashMap<String,Object>();

startTime = request.getParameter("startTime");
endTime = request.getParameter("endTime");
map.put("startTime", startTime);
map.put("endTime", endTime);
map.put("type", 2);
res = service.getData(map);
 List<InstallSuccessRate> list =(List<InstallSuccessRate>)res.getList();

2)DAO层:
Response res = new Response();
List<InstallSuccessRate> list =  getSqlSession().selectList("InstallSuccessRateMapper.getData",map);
if(list == null){
list = new ArrayList();
res.setStatusCode(StatusCode.FAILED);
}
res.setList(list);
res.setAllSize(list.size());
return res;

3)XML文件
 <parameterMap type="java.util.Map" id="installSuccessRateMapper">
      <parameter property="startTime" jdbcType="VARCHAR" javaType="String" mode="IN"/>
      <parameter property="endTime" jdbcType="VARCHAR" javaType="String" mode="IN"/>
      <parameter property="type" jdbcType="INTEGER" javaType="int" mode="IN"/>
  </parameterMap>

<select id="getData" statementType="CALLABLE" parameterMap="installSuccessRateMapper" resultMap="resultMap">
     {CALL sp_homenetworkreport(?,?,?)}                   
  </select>

2.ORACLE

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>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: