2020.03.06 springboot+mybatis+調用sqlserver存儲過程

1.存儲過程的定義
ALTER procedure [dbo].xxxx (
@ErrCode int output,
@ErrText nvarchar(200) output,
@Lang nvarchar(10),
@EMPCode nvarchar(10),
@AccNo nvarchar(14),
@TLimitTotal money output
)

2.controller

 @RequestMapping("/test")
    @ResponseBody
    public void test(){
        //入參都用map的形式,出參不必put進去
        Map<String,Object > parm = new HashMap<>();
        parm.put("Lang","Chinese");
        parm.put("AccNo","20190401010114");
        parm.put("EMPCode","1");
        testService.test(parm);
        //調用存儲過程後,出參自動出現在了map中,直接get就行
        //很神奇有沒有!
        log.info("返回值----"+parm.get("TLimitTotal"));

    }

3.xml

注意:statementType=“CALLABLE”,千萬不要忘記哦


 <select id="test" parameterType="java.util.Map"
            statementType="CALLABLE" >
        {
          call dbo.xxxx
          (
          #{ErrCode,mode=OUT,jdbcType=INTEGER},
          #{ErrText,mode=OUT,jdbcType=VARCHAR},
          #{Lang,mode=IN,jdbcType=VARCHAR},
          #{EMPCode,mode=IN,jdbcType=VARCHAR},
          #{AccNo,mode=IN,jdbcType=VARCHAR},
          #{TLimitTotal,mode=OUT,jdbcType=DECIMAL}
          )
        }

    </select>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章