微前端架构如何改变企业的开发模式与效率提升
631
2022-11-07
关于mybatis调用存储过程获取返回值问题
总体思路:map传值
controller:
Map
m.put("name", 'zs');
m.put("password", '55555');
cardservice.bindCard(m);
jsONObject json=new JSONObject();
//获得返回值
json.put("msg", m.get("msg"));
json.put("result", m.get("result"));
service:
@Override
public Object bindCard(Map
try {
return cardMapper.bindCard(m);
} catch (Exception e) {
e.printStackTrace();
return new HashMap
}
}
mapper:
Object bindCard(Map
<![CDATA[
{call P_CardBindIdCardNo(
#{name,mode=IN,jdbcType=VARCHAR},
#{password,mode=IN,jdbcType=VARCHAR},
#{result,mode=OUT,jdbcType=BIT},
#{msg,mode=OUT,jdbcType=VARCHAR}
)}
]]>
20180522另一种方法:
mapper:
List
EXEC getAnswerByModulesId #{modulesId},#{patientCode}
service
List
@Override
public List
try {
return naireMapper.getAnswerByModulesId(modulesId,patientCode);
} catch (Exception e) {
logger.error("getQuestionByModulesId异常!",e);
return new ArrayList
}
}
controller
@RequestMapping(value = "/getQuestionAnswerByModulesId", method = RequestMethod.POST)
@ResponseBody
public JSONObject getQuestionAnswerByModulesId(HttpServletRequest req,int modulesId) {
JSONObject json = new JSONObject();
try {
@SuppressWarnings("unchecked")
Map
List
json.put("questionList", list);
json.put("result", true);
json.put("msg", "获取相http://应模块成功!");
} catch (Exception e) {
json.put("result", false);
json.put("msg", "获取相应模块失败!");
logger.error("getQuestionByModulesId异常!", e);
}
return json;
}
20180810:
注意,切换数据源时,调用存储过程时不能开启事物,否则不能切换数据源
20181023
今天要获得存储过程的返回值,但不想用call方法感觉太麻烦,网上也没找到资料,研究了一下可如此解决:
declare @result varchar(50)
exec updateHumanDisease #{0},#{1},#{2},@result output
select @result
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~