mybatis调用Oracle存储进程ITeye - 亚美娱乐

mybatis调用Oracle存储进程ITeye

2019-01-12 06:48:43 | 作者: 思真 | 标签: 存储,进程,记载 | 浏览: 2458

1.创立Oracle存储进程完结库存加减操作,假如按equipType1和equipType2查询记载存在,则在原数量基础上进行增减;假如查询记载不存在,则新增一条记载。

存储进程创立如下:

 

CREATE OR REPLACE 
PROCEDURE "UPDATE_EQUIPMENT_STOCK" (P_EQUIP_TYPE1 IN NUMBER, P_EQUIP_TYPE2 IN NUMBER, P_NUM IN NUMBER, P_STATION_ID IN NUMBER, P_RESULT OUT NUMBER)
STOCK_NUM NUMBER DEFAULT 0;
E_COUNT NUMBER DEFAULT 0;
BEGIN
SELECT COUNT(ID) INTO E_COUNT from EQUIPMENT_STOCK WHERE EQUIP_TYPE1=P_EQUIP_TYPE1 AND EQUIP_TYPE2=P_EQUIP_TYPE2;
IF (E_COUNT 0) THEN
SELECT E_STOCK INTO STOCK_NUM from EQUIPMENT_STOCK WHERE EQUIP_TYPE1=P_EQUIP_TYPE1 AND EQUIP_TYPE2=P_EQUIP_TYPE2;
STOCK_NUM := STOCK_NUM + P_NUM;
UPDATE EQUIPMENT_STOCK SET E_STOCK=STOCK_NUM WHERE EQUIP_TYPE1=P_EQUIP_TYPE1 AND EQUIP_TYPE2=P_EQUIP_TYPE2;
--UPDATE
STOCK_NUM:=P_NUM;
INSERT INTO EQUIPMENT_STOCK(ID,EQUIP_TYPE1,EQUIP_TYPE2,E_STOCK,STATION_ID) 
VALUES(SEQ_EQUIPMENT_STOCK.NEXTVAL,P_EQUIP_TYPE1,P_EQUIP_TYPE2,STOCK_NUM,P_STATION_ID);
--INSERT
END IF;
P_RESULT:=1;
END;

 mybatis调用

Mapper.xml

 

 select id="updateEquipmentStock" parameterType="java.util.Map" statementType="CALLABLE" 
 {call UPDATE_EQUIPMENT_STOCK (#{equipType1,mode=IN,jdbcType=INTEGER},
 #{equipType2,mode=IN,jdbcType=INTEGER},
 #{pNum,mode=IN,jdbcType=INTEGER},
 #{stationId,mode=IN,jdbcType=INTEGER},#{p_result,mode=OUT,jdbcType=INTEGER})}
 /select 

 Mapper.java

public Integer updateEquipmentStock(Map String, Object paramMap);

 Dao

public Integer updateEquipmentStock(Map String, Object paramMap) {
 // TODO Auto-generated method stub
 return equipmentStockMapper.updateEquipmentStock(paramMap);
 }

 Service

public Integer updateEquipmentStock(Long equipType1, Long equipType2, Integer pNum,
 Long stationId) {
 Map String, Object paramMap = new HashMap String, Object 
 paramMap.put("equipType1", equipType1);
 paramMap.put("equipType2", equipType2);
 paramMap.put("pNum", pNum);
 paramMap.put("stationId", stationId);
 paramMap.put("p_result", -1);
 equipmentStockDAO.updateEquipmentStock(paramMap);
 return (Integer)paramMap.get("p_result");
 }

 自己查找材料编写,可用。

PS:pNum参数运用正负数完结库存的增减

 

版权声明
本文来源于网络,版权归原作者所有,其内容与观点不代表亚美娱乐立场。转载文章仅为传播更有价值的信息,如采编人员采编有误或者版权原因,请与我们联系,我们核实后立即修改或删除。

猜您喜欢的文章

阅读排行

  • 1

    Shell 练习题(append)ITeye

    实例,文件,上述
  • 2

    获取checkbox复选框的值ITeye

    依据,获取,拿到
  • 3

    Redis的耐久化机制ITeye

    耐久,方法,内存
  • 4
  • 5

    记一次线程池的运用ITeye

    线程,运用,行列
  • 6
  • 7
  • 8
  • 9
  • 10

    Digester 解析XMLITeye

    元素,参数,解析