mybatis调用oracle存储过程例子.


 

1.MYBATIS方法:

<select id="getFlowNum" statementType="CALLABLE">
<![CDATA[
{call PRO_CFC_GETFLOWNUM(
#{V_IN_RANDOM,mode=IN,jdbcType=VARCHAR},   
#{V_IN_BUSCODE,mode=IN,jdbcType=VARCHAR},
#{V_IN_REFRESHVAR,mode=IN,jdbcType=VARCHAR},
#{V_O_FLOWNUM,mode=OUT,jdbcType=INTEGER}
)}
]]>
</select>

 

2.MAPPER方法:

public interface TbcommonflownumMapper  {

Integer getFlowNum(Map<String, Object> map);

}

 

3.SERVICE方法:

public Integer getFlowNum(String busCode, String refreshvar) {
synchronized (this) {
if(curnum!=null)curnum=null;
Map<String,Object> map = new HashMap<String, Object>();
map.put("V_IN_RANDOM", UUID.randomUUID().toString());//入参1  map的k值要和mybatis的变量名一致.
map.put("V_IN_BUSCODE", busCode);     //入参2
map.put("V_IN_REFRESHVAR", refreshvar);  //入参3
TbcommonflownumMapper.getFlowNum(map);
Object _curnum=map.get("V_O_FLOWNUM");  //过程出参值写在map里面.
if(_curnum==null)return null;
curnum=Integer.parseInt(_curnum.toString());
return curnum;
}
}

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM