mybatis mysql存储过程返回值_mybatis调用存储过程获得取返回值

总体思路:map传值

controller:

8f900a89c6347c561fdf2122f13be562.png

961ddebeb323a10fe0623af514929fc1.png

Map m=new HashMap();

m.put("name", 'zs');

m.put("password", '55555');

cardservice.bindCard(m);

JSONObject json=newJSONObject();//获得返回值

json.put("msg", m.get("msg"));

json.put("result", m.get("result"));

View Code

service:

8f900a89c6347c561fdf2122f13be562.png

961ddebeb323a10fe0623af514929fc1.png

@Overridepublic Object bindCard(Mapm) {try{returncardMapper.bindCard(m);

}catch(Exception e) {

e.printStackTrace();return new HashMap();

}

}

View Code

mapper:

8f900a89c6347c561fdf2122f13be562.png

961ddebeb323a10fe0623af514929fc1.png

Object bindCard(Map map) throwsException;

{call P_CardBindIdCardNo(

#{name,mode=IN,jdbcType=VARCHAR},

#{password,mode=IN,jdbcType=VARCHAR},

#{result,mode=OUT,jdbcType=BIT},

#{msg,mode=OUT,jdbcType=VARCHAR}

)}

]]>

View Code

20180522另一种方法:

mapper:

8f900a89c6347c561fdf2122f13be562.png

961ddebeb323a10fe0623af514929fc1.png

List> getAnswerByModulesId(@Param("modulesId")int modulesId,@Param("patientCode")String patientCode) throwsException;EXEC getAnswerByModulesId #{modulesId},#{patientCode}

View Code

service

8f900a89c6347c561fdf2122f13be562.png

961ddebeb323a10fe0623af514929fc1.png

List> getQuestionAnswerByModulesId(intmodulesId,String patientCode);

@Overridepublic List> getQuestionAnswerByModulesId(intmodulesId,String patientCode) {try{returnnaireMapper.getAnswerByModulesId(modulesId,patientCode);

}catch(Exception e) {

logger.error("getQuestionByModulesId异常!",e);return new ArrayList>();

}

}

View Code

controller

8f900a89c6347c561fdf2122f13be562.png

961ddebeb323a10fe0623af514929fc1.png

@RequestMapping(value = "/getQuestionAnswerByModulesId", method =RequestMethod.POST)

@ResponseBodypublic JSONObject getQuestionAnswerByModulesId(HttpServletRequest req,intmodulesId) {

JSONObject json= newJSONObject();try{

@SuppressWarnings("unchecked")

Map map=(Map)req.getSession().getAttribute("user");

List> list = naireService.getQuestionAnswerByModulesId(modulesId,(String)map.get("PatientCode"));

json.put("questionList", list);

json.put("result", true);

json.put("msg", "获取相应模块成功!");

}catch(Exception e) {

json.put("result", false);

json.put("msg", "获取相应模块失败!");

logger.error("getQuestionByModulesId异常!", e);

}returnjson;

}

View Code

20180810:

注意,切换数据源时,调用存储过程时不能开启事物,否则不能切换数据源

20181023

今天要获得存储过程的返回值,但不想用call方法感觉太麻烦,网上也没找到资料,研究了一下可如此解决:

declare @result varchar(50)

exec updateHumanDisease #{0},#{1},#{2},@result output

select @result

参与评论 您还未登录,请先 登录 后发表或查看评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:1024 设计师:我叫白小胖 返回首页

打赏作者

某bit

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值