关于存数过程有output参数,SSM框架中获取返回参数的问题
来源:互联网 发布:巨人网络借壳上市绯闻 编辑:程序博客网 时间:2024/06/05 20:36
存储过程
CREATE OR REPLACE PACKAGE ZJUFDC.PAC_FW_ZCZJ AS
procedure FW_ZCZJ( SJ varchar2, --时间
num_Count out number);
END PAC_FW_ZCZJ;
PACKAGE Body
CREATE OR REPLACE PACKAGE BODY ZJUFDC.PAC_FW_ZCZJ AS
procedure FW_ZCZJ( SJ varchar2, --时间
num_Count out number) is
s_SQL varchar2(2000);
s_SQLINSERT varchar2(2000);
S_SQLUp varchar2(2000);
S_SQLSelect varchar2(4000);
S_SQL_INS_BDJL varchar2(2000);
strDEL varchar2(2000);
strINT varchar2(2000);
strNY varchar2(10);
BEGIN
begin
S_SQL_INS_BDJL:='DELETE FROM ZC_ZJJZNY_FW';
execute immediate S_SQL_INS_BDJL;
strNY:=substr(SJ,1,7);
s_SQLINSERT:='insert into ZC_ZJJZNY_FW(NY) values('''||strNY||''')';
execute immediate s_SQLINSERT;
--commit;
strDEL:='delete from ZC_FW_ZCZJ where zjny='''||substr(SJ,1,7)||'''';
execute immediate strDEL;
s_SQL:='insert into ZC_FW_ZCZJ(ZCFLH,ZCBH,ZCMC,QDRQ,SL,JZ,YZ,ZJNY,SYNX,YZJYS,CZL,JCZ,YZJE,LJZJYS,LJZJE,ZMJZ,JZZT) select ZCFLH,ZCBH,ZCMC,QDRQ,SL,JZ,YZ,ZJNY,SYNX,YZJYS,CZL,JCZ,YZJE,LJZJYS,LJZJE,ZMJZ,JZZT from VIEW_ZC_FW_ZCZJ_TEMP';
execute immediate s_SQL;
strDEL:='truncate table ZC_FW_ZCZJHZ';
execute immediate strDEL;
strINT:='insert into ZC_FW_ZCZJHZ select zjny,COUNT(*) AS SL,
sum(jz) AS YZ,
sum(yzje) as BYZJE,
sum(ljzje) as LJZJE,
sum(zmjz) as ZMJZ
from ZC_FW_ZCZJ group by zjny';
execute immediate strINT;
S_SQLSelect:='select count(*) from ASS_FW_ZCXXB' ;
execute immediate S_SQLSelect into num_Count;
commit;
end;
-- 异常处理
EXCEPTION
WHEN OTHERS THEN
num_Count:=0;
ROLLBACK;
RETURN;
end FW_ZCZJ;
END PAC_FW_ZCZJ;
/
XML配置
<!-- 调用存储过程 -->
<select id ="callProduce" parameterType="java.util.Map" resultType="java.util.Map" statementType="CALLABLE">
<!--注明statementType="CALLABLE"表示调用存储过程-->
<!--建在包下的存储过程调用 包名.存储过程名-->
call PAC_FW_ZCZJ.FW_ZCZJ(
#{SJ, jdbcType=VARCHAR, mode=IN},
#{num_Count, mode=OUT, jdbcType= INTEGER}
)
<!--传入传出参数要注明mode=IN/OUT 并要注明jdbcType,返回参数要注明对应的resultMap-->
</select >
Dao层
public Map<String,Integer> callProduce(Map<String, Object> parms);Service层
//返回类型由返回参数类型决定
public Integer callProduce(String ny);
SerciceImpl层
@Override
public Integer callProduce(String ny) {
Map<String, Object> parms = new HashMap<String, Object>();
System.out.println(ny);
parms.put("SJ", ny);
parms.put("num_Count",new Integer(0));
Map<String, Integer> map = zjglMapper.callProduce(parms);
System.out.println(parms.get("num_Count"));
//返回参数只能由传参的params取出
return (Integer) parms.get("num_Count");
}
Controller层
@RequestMapping("/user/fwzc_zjgl_fwzj_qdzj.do")
public @ResponseBody String fwzc_zjgl_fwzj_qdzj(HttpServletRequest request,HttpServletResponse response,Model model) throws UnsupportedEncodingException
{
String NY = null; //前台数据
try {
NY = new String (request.getParameter("NY"));
System.out.println(NY);
} catch (Exception e1) {
e1.printStackTrace();
}
Integer count = zjglService.callProduce(NY);//调用存储过程
System.out.println(count);
if(count > 0){
return "true";
}else{
return "false";
}
}
- 关于存数过程有output参数,SSM框架中获取返回参数的问题
- SqlCommand.ExecuteReader 无法获取 sqlserver 存储过程 OUTPUT 返回的参数值问题
- 执行存储过程获取OUTput参数返回值
- 从带输出参数的存储过程中获取输出参数的值 OUTPUT
- C#获取存储过程的Return返回值和Output输出参数值
- C#获取存储过程的Return返回值和Output输出参数值
- C#获取存储过程的Return返回值和Output输出参数值
- C#获取存储过程的Return返回值和Output输出参数值
- C#获取存储过程的Return返回值和Output输出参数值
- C#获取存储过程的Return返回值和Output输出参数值
- C#获取存储过程的Return返回值和Output输出参数值
- C#获取存储过程的Return返回值和Output输出参数值
- C#获取存储过程的 Return返回值和Output输出参数值
- 关于在SQLSERVER2000中存储过程调用存储过程返回参数的问题
- C#调用SQL中的存储过程中有output参数
- sql2005 返回游标参数的存储过程 【CURSOR VARYING OUTPUT】
- 使用有返回参数的存储过程
- 调用有返回参数的存储过程
- Android button设置背景色与边框颜色
- 理解池化技术
- matlab存储的矩阵,在C++处理的方法
- JAVA8新特性 -- stream(三)
- 什么是 RPC 框架,web service,wsdl,soap
- 关于存数过程有output参数,SSM框架中获取返回参数的问题
- 重新开始写博客
- 关于Selenuim Webdriver查找可能不存在的页面元素的问题
- js-关于数组的一些事
- ftl页面中判断list长度不成立解决方法
- 使用maven构建web项目
- Dubbo入门---搭建一个最简单的Demo框架
- 最全前端资源汇集(70多套)
- Python之深拷贝和浅拷贝