• MyBatis注解调用存储过程获取返回值


    1.准备存储过程

    create or replace procedure P_Test(vc_num1 in varchar2,
                                       vc_num2 in varchar2,
                                       vc_sql out varchar2) is
    
    begin
      //具体操作
    end P_Test;
    View Code

    2.在dao文件配置

    @Select("{call P_Test(#{map.num1,jdbcType=VARCHAR,mode=IN},"
                + "#{map.num2,jdbcType=VARCHAR,mode=IN},"
                + "#{map.sql,jdbcType=VARCHAR,mode=OUT})}")
        @Result(column = "sql", property = "sql", jdbcType = JdbcType.VARCHAR)
        @Options(statementType = StatementType.CALLABLE)
        void getSqlBycondition(@Param("map") Map<String, Object> map);
    View Code

    statementType = StatementType.CALLABLE 表示存储过程

    3.在service中调用

    String sql = "";
            Map<String, Object> mapSql = new HashMap<>();
            mapSql.put("num1", "1");
            mapSql.put("num2", "2");
            mapSql.put("sql", sql);
            middleService.getSqlBycondition(mapSql);
    View Code

    在通过map.get("sql")获取返回值

  • 相关阅读:
    CSS简要内容
    HTML简要内容
    java中的多线程
    java中的IO流
    hash
    java中的集合
    java中的数组
    java中的异常机制(编译时异常)
    静态变量和静态方法的访问权限
    成员变量和成员方法的访问权限
  • 原文地址:https://www.cnblogs.com/ZJ199012/p/15126964.html
Copyright © 2020-2023  润新知