设为首页 收藏本站
查看: 731|回复: 0

[经验分享] mybatis 调用存在过程

[复制链接]

尚未签到

发表于 2016-11-26 06:26:20 | 显示全部楼层 |阅读模式
mybatis 调用存在过程{ call proc_saveamt_grant(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?) }
Serivice
SAICDao.insertTsaveamt(tsaveamt);
根据mybatis 的 配置。返回的值自动保存在tsaveamt
DAO
void insertTemploydcmSQ(Tmember tmember)throws SQLException;


引用
<select id="insertTsaveamt" parameterType="cn.com.mmm.customer.domain.Tsaveamt" statementType="CALLABLE"  >
{call  proc_saveamt_grant(#{memb_no},#{proc_gb},#{proc_yn},#{order_no},#{order_g_seq},#{order_d_seq},#{order_w_seq},#{saveamt_gb},#{saveamt_gb}
,#{saveamt},#{save_note},#{expire_date,jdbcType=TIMESTAMP},#{proc_id},#{c_code},'',#{rtnCode,mode=OUT,jdbcType=VARCHAR},#{rtnNo,mode=OUT,jdbcType=INTEGER},#{rtnMsg,mode=OUT,jdbcType=VARCHAR})}
</select>


引用
CREATE OR REPLACE PROCEDURE MMM.PROC_SAVEAMT_GRANT(
V_MMM_CUST_NO IN TSAVEAMT_MMM.MEMB_NO%TYPE
, V_MMM_PROC_GB_MMM IN TSAVEAMT_MMM.PROC_GB%TYPE
, V_MMM_PROC_YN IN TSAVEAMT_MMM.PROC_YN%TYPE
, V_MMM_ORDER_NO IN TSAVEAMT_MMM.ORDER_NO%TYPE
, V_MMM_ORDER_G_MMM_SEQ IN TSAVEAMT_MMM.ORDER_G_MMM_SEQ%TYPE
, V_MMM_ORDER_D_MMM_SEQ IN TSAVEAMT_MMM.ORDER_D_MMM_SEQ%TYPE
, V_MMM_ORDER_W_MMM_SEQ IN TSAVEAMT_MMM.ORDER_W_MMM_SEQ%TYPE
, V_MMM_SAVEAMT_GB IN TSAVEAMT_MMM.SAVEAMT_GB%TYPE
, V_MMM_SAVEAMT_CODE IN TSAVEAMT_MMM.SAVEAMT_CODE%TYPE
, V_MMM_SAVEAMT  IN TSAVEAMT_MMM.SAVEAMT%TYPE
, V_MMM_SAVE_NOTE IN TSAVEAMT_MMM.SAVE_NOTE%TYPE
, V_MMM_EXPIRE_DATE IN TSAVEAMT_MMM.EXPIRE_DATE%TYPE
, V_MMM_USER_ID IN TSAVEAMT_MMM.PROC_ID%TYPE
, V_MMM_C_CODE IN TSAVEAMT_MMM.C_CODE%TYPE
, V_MMM_SITE_CODE IN TSAVEAMT_MMM.SITE_CODE%TYPE
, ERRCODE OUT VARCHAR2
, ERRNO OUT NUMBER
, ERRMSG OUT VARCHAR2)
IS
    V_MMM_SAVEAMT_MMM_SEQ_MMM TSAVEAMT_MMM.SAVEAMT_MMM_SEQ%TYPE;
    V_MMM_SYSDATETIME   DATE;
    V_MMM_ERRCODE       VARCHAR2(2);
    V_MMM_ERRNO         NUMBER;
    V_MMM_ERRMSG        VARCHAR2(100);
    P_EXPIRE_DATE   DATE;
BEGIN
IF V_MMM_PROC_GB_MMM != '1' AND V_MMM_PROC_GB_MMM != '0' AND V_MMM_PROC_YN != '1' AND V_MMM_PROC_YN != '0'
THEN
        V_MMM_ERRCODE := 'ER';
        V_MMM_ERRNO := 999;
        V_MMM_ERRMSG := 'IT IS WRONG PARAMETER! PROC_GB, PROC_YN';
GOTO ERROR_ROUTINE;
END IF;
    IF V_MMM_PROC_YN = '1'
    THEN
        P_EXPIRE_DATE := V_MMM_EXPIRE_DATE;
    END IF;
    BEGIN
        SELECT LPAD(TO_NUMBER(NVL(MAX(SAVEAMT_MMM_SEQ),200000)) + 1, 10, '0'), SYSDATE
          INTO V_MMM_SAVEAMT_MMM_SEQ_MMM, V_MMM_SYSDATETIME
          FROM TSAVEAMT_MMM
         WHERE MEMB_NO = V_MMM_CUST_NO;
    EXCEPTION WHEN OTHERS THEN
        V_MMM_ERRCODE := 'ER';
        V_MMM_ERRNO := ABS(SQLCODE);
        V_MMM_ERRMSG := SUBSTR (SQLERRM, 1, 100);
        GOTO ERROR_ROUTINE;
    END;
    BEGIN
        INSERT INTO TSAVEAMT_MMM(
          MEMB_NO, SAVEAMT_MMM_SEQ, SAVEAMT_MMM_SEQ_PRE, SAVEAMT_MMM_SEQ_ORG
        , PROC_GB, PROC_YN, ORG_YN, ORDER_NO, ORDER_G_MMM_SEQ, ORDER_D_MMM_SEQ, ORDER_W_MMM_SEQ
        , SAVEAMT_GB, SAVEAMT_CODE, SAVE_NOTE, SAVEAMT, PROC_ID, PROC_DATE
        , EXPIRE_YN, EXPIRE_DATE, EXPIRE_DATE_ORG, USE_YN, USE_AMT, SITE_CODE
        , INSERT_ID, INSERT_DATE, MODIFY_ID, MODIFY_DATE, SAVEAMT_ORG, C_CODE
        )
        VALUES
        (
            V_MMM_CUST_NO, V_MMM_SAVEAMT_MMM_SEQ_MMM, V_MMM_SAVEAMT_MMM_SEQ_MMM, V_MMM_SAVEAMT_MMM_SEQ_MMM
            ,V_MMM_PROC_GB_MMM, V_MMM_PROC_YN, '1', V_MMM_ORDER_NO, V_MMM_ORDER_G_MMM_SEQ, V_MMM_ORDER_D_MMM_SEQ, V_MMM_ORDER_W_MMM_SEQ
            , V_MMM_SAVEAMT_GB, V_MMM_SAVEAMT_CODE, V_MMM_SAVE_NOTE, V_MMM_SAVEAMT, V_MMM_USER_ID, V_MMM_SYSDATETIME
            , '0', DECODE( V_MMM_PROC_YN , '1' , P_EXPIRE_DATE ,''), DECODE( V_MMM_PROC_YN , '1' , P_EXPIRE_DATE ,'')
            , '0', 0, V_MMM_SITE_CODE
            , V_MMM_USER_ID, V_MMM_SYSDATETIME, V_MMM_USER_ID, V_MMM_SYSDATETIME, V_MMM_SAVEAMT, V_MMM_C_CODE
        );
    EXCEPTION WHEN OTHERS THEN
        V_MMM_ERRCODE := 'ER';
        V_MMM_ERRNO := ABS(SQLCODE);
        V_MMM_ERRMSG := SUBSTR (SQLERRM, 1, 100);
        GOTO ERROR_ROUTINE;
    END;
<<COMMIT_ROUTINE>>
  ERRCODE := 'OK';
  ERRNO   := 0 ;
  ERRMSG  := V_MMM_SAVEAMT_MMM_SEQ_MMM ;
  GOTO END_ROUTINE;
<<ERROR_ROUTINE>>
  ERRCODE := V_MMM_ERRCODE ;
  ERRNO   := V_MMM_ERRNO ;
  ERRMSG  := V_MMM_ERRMSG ;
<<END_ROUTINE>>
dbms_output.put_line(ERRCODE||'-'||TO_CHAR(ERRNO)||'-'||ERRMSG) ;
END;

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-305559-1-1.html 上篇帖子: Mybatis中的拦截器 下篇帖子: Spring整合Mybatis错误
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表