mahuan2

mybatis版本:3.4.4

存储过程

1、mapper.xml文件中配置相关的sql语句。

<select id="callTest" statementType="CALLABLE" >
{ 
    call hasResource(
        #{param1,mode=IN},
        #{param2,mode=IN},
        #{param3,mode=OUT,jdbcType=INTEGER}
    )
}
</select>

注意:parameterMap已被舍弃,请直接在sql语句中定义传参类型。

注意:OUT参数必须指定jdbcType

2、定义mapper接口中的方法

void callTest(Map<String, Object> params);

注意:如果存储过程中有OUT参数,调用时的传参只能是Map类型,调用结束后从Map中根据OUT参数的名称获取返回的数据。如果没有OUT参数,可以使用@Param方式定义接口中的传参。

注意:在Mysql中,定义OUT参数为游标类型,好像很复杂,没找到相关资料。官网的存储过程文档特少,不知道是不是找错地方了。

注意:如果存储过程执行过程中有sql调用,可作为存储过程的执行结果返回,同基本的select定义类似,增加resultMap或resultType参数,mapper接口增加返回参数类型。

函数

mapper.xml配置

<select id="callTest" resultType="int" >
  select functionTest(#{params1}, #{param2}) from dual;
</select>

mapper接口中的方法为基本方法传参和返回数据。

分类:

技术点:

相关文章:

  • 2022-01-18
  • 2022-03-04
  • 2021-12-11
  • 2022-01-01
  • 2022-01-01
  • 2021-06-08
猜你喜欢
  • 2022-01-01
  • 2022-01-01
  • 2022-01-01
  • 2022-01-01
  • 2022-01-01
  • 2022-01-01
  • 2021-11-18
相关资源
相似解决方案