做个记录,以备后用

java代码:

public String texuChange() throws Exception {
        try {
            
            Map<String, Object> map = new HashMap<String, Object>();
            
            if(texu != null){
                
                SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
                Map<String, Object> parameterMap = new HashMap<String, Object>();
                
                if(texu.getFlag() == 0){
                    parameterMap.put("v_tz_flg", 0);
                }else if(texu.getFlag() == 1){
                    parameterMap.put("v_tz_flg", 1);
                }else{
                    parameterMap.put("v_tz_flg", 2);
                };
                if(texu.getStart() != null&&texu.getEnd() != null){
                    parameterMap.put("v_tz_qujian_start", formatter.format(texu.getStart()));
                    parameterMap.put("v_tz_qujian_end", formatter.format(texu.getEnd()));
                }else{
                    parameterMap.put("v_tz_qujian_start", null);
                    parameterMap.put("v_tz_qujian_end", null);
                }
                parameterMap.put("v_baoliu_p", texu.getBaoliup());
                parameterMap.put("v_max_p", texu.getPingxianbl());
                parameterMap.put("v_stop_run", texu.getStoprun());
                
                //调用存储过程
                pingbiService.texuChange(parameterMap);
                map.put("p_result", parameterMap.get("p_result"));
            }
            responseSuccessJson(map, "", "common.list.success");
        } catch(ServiceException ex) {
            log.warn("input fail.", ex);
            responseServiceErrorJson(getCommonInputErrorInfo(null, ex.getErrorCode()));
        } catch(Exception e) {
            log.error("input error.", e);
            responseSystemErrorJson(getCommonErrorInfo());
        }
        
        return null;
    }

  public String texuChange(Map<String, Object> parameterMap) {
        return pingbiDao.texuChange(parameterMap);
     }

配置文件mapper

<parameterMap type="java.util.Map" id="texuChangeMap">    
       <parameter property="v_tz_flg" jdbcType="INTEGER" mode="IN"/>
       <parameter property="v_tz_qujian_start" jdbcType="DATE" mode="IN"/>      
       <parameter property="v_tz_qujian_end" jdbcType="DATE" mode="IN"/>    
       <parameter property="v_baoliu_p" jdbcType="INTEGER" mode="IN"/>    
       <parameter property="v_max_p" jdbcType="INTEGER" mode="IN"/>    
       <parameter property="v_stop_run" jdbcType="INTEGER" mode="IN"/>    
       <parameter property="p_result" jdbcType="VARCHAR" mode="OUT"/>

</parameterMap>

<select id="texuChange" parameterMap="texuChangeMap" statementType="CALLABLE" resultType="String">  
      {call pl_texu(  
        ?,?,?,?,?,?,?
      )}

</select>

Mybatis 调用存储过程,使用Map进行输入输出参数的传递的更多相关文章

  1. MyBatis之四:调用存储过程含分页、输入输出参数

    在前面分别讲解了通过mybatis执行简单的增删改,多表联合查询,那么自然不能缺少存储过程调用,而且还带分页功能. 注意:表结构参见上篇讲解联合查询的表. 一.查询某班级以及该班级下面所有学生的记录 ...

  2. 【Mybatis】MyBatis调用带有返回结果、output参数的存储过程上与ibatis的区别

    用过mybatis的应该都知道它是ibatis被Google收购后重新命名的一个工程,因此也做了大量升级.本文就来介绍下两者在调用存储过程上的一点区别,ibatis有一个专门的标签<proced ...

  3. 使用mybatis调用存储过程(注解形式和配置文件形式)

    最近在看资料中涉及到mybatis,突然想到mysql中的视图.存储过程.函数.现将在使用mybatis调用mysql的存储过程使用总结下: 使用的环境:mybatis3.4.6,mysql 5.6, ...

  4. MyBatis基础:MyBatis调用存储过程(6)

    1. 存储过程准备 CREATE PROCEDURE sp_task ( IN userId INT ) BEGIN SELECT * FROM task WHERE user_id = userId ...

  5. Mybatis调用存储过程报错

    Mybatis调用存储过程 贴码 123456 Error querying database. Cause: java.sql.SQLException: User does not have ac ...

  6. MyBatis调用存储过程,含有返回结果集、return参数和output参数

    Ibatis是我们经常使用的O/R映射框架,mybats是ibatis被Google收购后重新命名的一个工程,当然也做了大量的升级.而调用存储过程也是一次额C/S架构模式下经常使用的手段,我们知道,i ...

  7. Mybatis学习笔记——输入参数parameterType、Mybatis调用存储过程

    输入参数:parameterType(两种取值符号) 1.类型为简单类型 区别:     (1) #{可以为任意值}         ${vaue}--->标识符只能是value     (2) ...

  8. mybatis 调用存储过程 返回游标 实例

    存储过程示例: create or replace procedure Fsp_Plan_CheckPrj(v_grantno varchar2, v_deptcode number, v_curso ...

  9. mybatis调用存储过程,获取返回的游标

    将调用存储过程参数放入map中,由于返回的游标中包含很多参数,所以再写一个resultmap与之对应,类型为hashmap.设置返回的jdbcType=CURSOR,resultMap设置为id对应的 ...

随机推荐

  1. 【面经】腾讯和YY实习生面试总结

    [前言] 之前的四月份和五月份各面试了腾讯和YY的暑假实习,腾讯的失败了,YY的成功了.面试中我总会遇到自己不懂的,所幸的是不懂的越来越少,自己也一步一脚印得攻克自己不懂的.此时六月份的我再回顾起来, ...

  2. 如何利用keytool查看一个apk的签名

  3. Vijos 1004 伊甸园日历游戏 博弈

    描述 Adam和Eve玩一个游戏,他们先从1900.1.1到2001.11.4这个日期之间随意抽取一个日期出来.然后他们轮流对这个日期进行操作: 1 : 把日期的天数加1,例如1900.1.1变到19 ...

  4. Python使用QRCode生成二维码

    PIL和QRCode下载地址: http://www.pythonware.com/products/pil/ https://pypi.python.org/pypi/qrcode/5.1 #你可能 ...

  5. javascript 玩转Date对象

    前言:最近在做一个日期选择功能,在日期转换的时候经常换到晕,总结一下常用的Date对象的相关用法,方便日后直接查看使用- 1. new Date()的使用方法有: 不接收任何参数:返回当前时间: 接收 ...

  6. HTML5性能优化[转]

    在看完这两章内容之后,我意犹未尽,于是乎从网上搜索关键字“Java Web高性能”,在IBM社区找到两篇不错的文章,而让人更意外的是我发现那两篇文章的内容跟<高性能HTML5>前两章高度相 ...

  7. Frameset框架集的应用

    Frameset框架集常用于写网站后台页面,大多数"T字型"布局后台页面,就是应用Frameset框架集来做的.Franeset框架集的优点是,他可以在同浏览器窗口显示不同页面内容 ...

  8. tp框架表单验证 及ajax

    之前的表单验证都是用js写的,这里也可以使用tp框架的验证.但是两者比较而言还是js验证比较好,因为tp框架验证会运行后台代码,这样运行速度和效率就会下降. 自动验证是ThinkPHP模型层提供的一种 ...

  9. 20170721_python字符串操作_《python语言及其应用》

    str = 'abcde...wxyz' [num]提取指定字符 str[0] == 'a' str[1] == 'b' str[-1] == 'z' [start:end:step]分片/切片,一定 ...

  10. jenkins - MultiJob使用

    我们如果使用jenkins需要由串行,并行,传递参数和等待执行的功能的话,那我们会用到jenkins里面的两个东西:MultiJob和pipeline 这里我介绍下MultiJob的使用 实例任务的拓 ...