首页 > 编程知识 正文

mybatis调用存储过程返回多个结果集,mybatis 返回值

时间:2023-05-03 21:00:35 阅读:209454 作者:1276

文章目录

前言

一、service层

二、DAO层

三、map.xml

总结

前言

mybatis调用存储过程的一种写法记录

 

一、service层 @Override public ReturnMsg checkOnlineBookout(Map<String, Object> param) { log.info("复核线上租书单:{}",param); Map<String, String> params = new HashMap<>(); params.put("frm_name", "线上租书"); params.put("dh", param.get("dh").toString()); params.put("user_code", "9999"); params.put("user_name", "线上租书"); params.put("bm_name", param.get("bm_name").toString()); params.put("corp_name", ""); params.put("msginfo", ""); // 调用存储过程 bookOutTitleDao.checkOnlinebookout(params); return new ReturnMsg().setData(params.get("msginfo")); } 二、DAO层 void checkOnlinebookout(Map<String, String> params); 三、map.xml <select id="checkOnlinebookout" parameterType="map" statementType="CALLABLE" resultType="String"> <![CDATA[ {call cp_check_onlinebookout( #{frm_name, jdbcType=VARCHAR, mode=IN}, #{dh, jdbcType=VARCHAR, mode=IN}, #{user_code, jdbcType=VARCHAR, mode=IN}, #{user_name, jdbcType=VARCHAR, mode=IN}, #{bm_name, jdbcType=VARCHAR, mode=IN}, #{corp_name, jdbcType=VARCHAR, mode=IN}, #{msginfo, jdbcType=VARCHAR, mode=OUT} ) } ]]> </select>   总结

这是一种没有在xml里面写返回结果集的 做法,dao层也没有,但是可以取到存储过程的返回值 return new ReturnMsg().setData(params.get("msginfo"));这里记录一下这种写法

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。