一、mysql存储过程为:
名称:applyBookByIsbn
参数:
in p_apply_wx_token varchar(100),in p_isbn varchar(100),in p_status varchar(100),out o_ret int
二、mapping.xml配置
<!--mybatis调用存储过程 申请借阅-->
<select id="applyBookByIsbn" statementType="CALLABLE">
call cyb_apply_book(
#{p_apply_wx_token,jdbcType=VARCHAR,mode=IN},
#{p_isbn,jdbcType=VARCHAR,mode=IN},
#{p_status,jdbcType=VARCHAR,mode=IN},
#{o_ret,jdbcType=INTEGER,mode=OUT}
)
</select>
三、dao对应的方法
void applyBookByIsbn(Map<String, Object> paramMap);
四、service中的方法
@Override
public int applyBookByIsbn(String apply_wx_token, String isbn) {
Map<String, Object> paramMap = new HashMap<>();
paramMap.put("p_apply_wx_token",apply_wx_token);
paramMap.put("p_isbn",isbn);
paramMap.put("p_status",0);//0:待确认状态
bookDao.applyBookByIsbn(paramMap);
int ret= Integer.parseInt(paramMap.get("o_ret").toString());
return ret;
}
五、总结
所有的in和out参数均是通过map进行传递
网友评论