Mybatis 调用存储过程,使用Map进行输入输出参数的传递
做个记录,以备后用
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进行输入输出参数的传递的更多相关文章
- MyBatis之四:调用存储过程含分页、输入输出参数
在前面分别讲解了通过mybatis执行简单的增删改,多表联合查询,那么自然不能缺少存储过程调用,而且还带分页功能. 注意:表结构参见上篇讲解联合查询的表. 一.查询某班级以及该班级下面所有学生的记录 ...
- 【Mybatis】MyBatis调用带有返回结果、output参数的存储过程上与ibatis的区别
用过mybatis的应该都知道它是ibatis被Google收购后重新命名的一个工程,因此也做了大量升级.本文就来介绍下两者在调用存储过程上的一点区别,ibatis有一个专门的标签<proced ...
- 使用mybatis调用存储过程(注解形式和配置文件形式)
最近在看资料中涉及到mybatis,突然想到mysql中的视图.存储过程.函数.现将在使用mybatis调用mysql的存储过程使用总结下: 使用的环境:mybatis3.4.6,mysql 5.6, ...
- MyBatis基础:MyBatis调用存储过程(6)
1. 存储过程准备 CREATE PROCEDURE sp_task ( IN userId INT ) BEGIN SELECT * FROM task WHERE user_id = userId ...
- Mybatis调用存储过程报错
Mybatis调用存储过程 贴码 123456 Error querying database. Cause: java.sql.SQLException: User does not have ac ...
- MyBatis调用存储过程,含有返回结果集、return参数和output参数
Ibatis是我们经常使用的O/R映射框架,mybats是ibatis被Google收购后重新命名的一个工程,当然也做了大量的升级.而调用存储过程也是一次额C/S架构模式下经常使用的手段,我们知道,i ...
- Mybatis学习笔记——输入参数parameterType、Mybatis调用存储过程
输入参数:parameterType(两种取值符号) 1.类型为简单类型 区别: (1) #{可以为任意值} ${vaue}--->标识符只能是value (2) ...
- mybatis 调用存储过程 返回游标 实例
存储过程示例: create or replace procedure Fsp_Plan_CheckPrj(v_grantno varchar2, v_deptcode number, v_curso ...
- mybatis调用存储过程,获取返回的游标
将调用存储过程参数放入map中,由于返回的游标中包含很多参数,所以再写一个resultmap与之对应,类型为hashmap.设置返回的jdbcType=CURSOR,resultMap设置为id对应的 ...
随机推荐
- MySQL,Oracle,PostgreSQL通过web方式管理维护, 提高开发及运维效率
在开发及项目运维中,对数据库的操作大家目前都是使用客户端工具进行操作,例如MySQL的客户端工具navicat,Oracle的客户端工具 PL/SQL Developer, MSSQL的客户端工具查询 ...
- .NET C#到Java没那么难,Servlet篇
前言 .NET C#到Java没那么难,都是面向对向的语言,而且语法还是相似的,先对比一下开发环境,再到Servlet,再到MVC,都是一样一样的,只是JAVA的配制项比较多而已,只要配好一个,后面都 ...
- Day01_变量,数据类型_程序交互_流程控制
python执行的两种方式: 1,交互的方式: 优点:可以及时调试程序,调试方法 缺点: 无法永久保存代码 2,保存在文件中执行 优点:可以永久保存代码,在执行的时候调用 缺点:不能即时调试代 ...
- c++ 命名空间 以及 作用域 函数参数 面向对象实验报告
面向对象的分析与设计 实验报告一 一.变量的储存类别 auto static register extern auto变量 函数中的局部变量,如不专门声明为static存储类别,都是动态地分配存 ...
- mac版破解office
下载地址:http://ereach-public.oss-cn-shanghai.aliyuncs.com/office%202016%20for%20mac.dmg 解压密码:www.ifunma ...
- C# 汉语转拼音
汉语转拼音或首字母 通常不少网站上有汉语转拼音功能,今天就小记下这段汉语转拼音的代码,自己测试ok,现把代码贴出来,以备日后使用: 效果 用法很简单后台使用到了两个类文件,一个是:ConvertHzT ...
- java开发必读 书单
希望读的书单 重构 改善既有代码的设计 设计模式 可复用面向对象软件的基础 高性能MySQL第3版 Effective Java第1版 Effective Java第2版 Java核心技术I-基础知识 ...
- 利用base64函数,对文件进行转码加密
设计此种编码是为了使二进制数据可以通过非纯 8-bit 的传输层传输,例如电子邮件的内容就是通过base64转码后传输的.Base64-encoded后, 数据要比原始数据多占用 33% 左右的空间. ...
- BZOJ3575 HNOI2014 道路阻塞
3575: [Hnoi2014]道路堵塞 Time Limit: 10 Sec Memory Limit: 128 MB Description A国有N座城市,依次标为1到N.同时,在这N座城市间 ...
- webgl开发第一道坎——矩阵与坐标变换
一.齐次坐标 在3D世界中表示一个点的方式是:(x, y, z);然而在3D世界中表示一个向量的方式也是:(x, y, z);如果我们只给一个三元组(x, y, z)鬼知道这是向量还是点,毕竟点与向量 ...