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>
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>
相关文章推荐
- SQL SERVER使用ODBC 驱动建立的链接服务器调用存储过程时参数不能为NULL值
- JAVA通过调用数据库函数调用存储过程
- 通过 dbms_job.submit 定时调用存储过程
- 在asp中调用sql server的存储过程
- Java/JSP中调用SQL Server存储过程完整示例
- C#数据库(c#通过调用存储过程返回表)
- SQL Server 存储过程调用和参数运用
- [翻译]通过WebService调用SQLXML(SQL Server 2005)
- 学习记录 asp.net c#连接sql server 2012 调用存储过程 用返回的记录填充CheckBoxList 都是常用的,特此记录
- sql server中的存储过程里调用存储过程
- laravel调用sql server存储过程并取得ReturnValue
- EJB 调用存储过程报错,在sql server中执行却正常
- CSharp 如何通过拼接XML调用存储过程来查询数据
- [导入](C#)调用SQL Server 2000中存储过程的例子[Longever原创]
- Cpp 调用sql server 存储过程时不返回output参数解决办法
- Java/JSP中调用SQL Server存储过程完整示例
- 调用存储过程,java中通过bboss persistent实现数据库存储过程的调用(位置变量绑定)
- SQL SERVER使用ODBC 驱动建立的链接服务器调用存储过程时参数不能为NULL值
- sql server 查询某个表被哪些存储过程调用
- Oracle中通过:触发器,存储过程,Function调用实现解析Clob字段类型中存储的xml字符串