mybatis调用存储过程

原创 2015年11月20日 16:58:58

mybatis调用存储过程的返回参数到底怎么传递的一直没搞清楚,不过调用可以参考一下:


首先看一下xml文件中的SQL:

  <select id="queryDeptNameByUserId" statementType="CALLABLE" parameterType="map">
    <![CDATA[
           {call queryDeptNameByUserId(
              #{userId,mode=IN,jdbcType=INTEGER},
             
 #{userDeptName,mode=OUT,jdbcType=VARCHAR}
            )}    
     ]]>
  </select>

其中statementType="CALLABLE"必须配置    参数中in out表示存储过程的输入输出参数


再看一下dao调用sql:

 String queryDeptNameByUserId(Map<String, Object> param);

关于返回值怎么传递一直没搞清楚,所以这里的String接收返回参数并不准确,你也可以用int


最后看实现类的调用并取值:

paramMap.put("userId", usb.getId());
trainingClassMapper.queryDeptNameByUserId(paramMap);
if (paramMap.get("userDeptName") == null) {
usb.setDeptName("");
}
usb.setDeptName(paramMap.get("userDeptName").toString());

最终返回值其实mybatis将返回值存入到map中去了,String中是没有值的,最终取出返回值在map中取就可以了

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

mybatis调用mysql存储过程

  • 2017-04-17 17:51
  • 39KB
  • 下载

mybatis调用orclae存储过程

  • 2017-04-17 18:00
  • 10.62MB
  • 下载

mybatis调用存储过程

mybatis调用存储过程          1. 新建存储过程并且通过测试          2. 创建相应表的实体类 &...

mybatis调用存储过程源码

  • 2014-11-20 20:41
  • 4.77MB
  • 下载

mybatis调用存储过程

记两一下工作中用到的mybatis调用存储过程,这边用到的mybatis是3.2.2版本,oracle 10g。 一、返回一个值的存储过程,如下: CREATE OR REPLACE PROCEDUR...

MyBatis学习总结(六)——调用存储过程

一、提出需求   查询得到男性或女性的数量, 如果传入的是0就女性否则是男性 二、准备数据库表和存储过程 1 create table p_user( 2 id ...

Oracle创建存储过程及在Mybatis中的调用

1.需求说明 系统中多个业务ID生成规则为:固定前缀+顺序号,考虑到可能删除和顺序号到头的原因,因此需要一个存储过程,查找出可用的顺序号 2.存储过程 --生成cno的规则 --cno_...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)