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对应的 ...
随机推荐
- [leetcode-500-Keyboard Row]
Given a List of words, return the words that can be typed using letters of alphabet on only one row' ...
- 【Android Developers Training】 15. 启动一个Activity
注:本文翻译自Google官方的Android Developers Training文档,译者技术一般,由于喜爱安卓而产生了翻译的念头,纯属个人兴趣爱好. 原文链接:http://developer ...
- Mathematica 10 Mac 设置默认工作目录
用SetDirectory命令设置
- HDOJ 1260 DP
Tickets Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Sub ...
- bash远程代码执行漏洞
博客园新闻:http://news.cnblogs.com/n/504506/(如果以下有说错的地方请不吝指出,谢谢~) 详情可围观上面的链接.因为我们的服务器都是私有网环境,即使要修复也得等到下次安 ...
- usaco training 4.2.3 Job Processing 题解
Job Processing题解 IOI'96 A factory is running a production line that requires two operations to be pe ...
- PKM你的知识需要管理
有一段时间没有更新技术博客了~,大脑中总感觉有点东西要写,却不知道从哪里开始写~至少写点东西,也算是一个阶段的成长 学习(充电过程).工作(知识变现过程)不是简单重复,永远都是最值得去反思.玩味的事儿 ...
- HTML 头标签的 <title> <base> <meta> <link> <script> 的内容意思
头标签都放在<head></head>头部分之间.包括:title base meta link <title>:指定浏览器的.(标题) <base>: ...
- 【前端】用jQuery实现瀑布流效果
jQuery实现瀑布流效果 何为瀑布流: 瀑布流,又称瀑布流式布局.是比较流行的一种网站页面布局,视觉表现为参差不齐的多栏布局,随着页面滚动条向下滚动,这种布局还会不断加载数据块并附加至当前尾部.最早 ...
- 在Apworks数据服务中使用基于Entity Framework Core的仓储(Repository)实现
<在ASP.NET Core中使用Apworks快速开发数据服务>一文中,我介绍了如何使用Apworks框架的数据服务来快速构建用于查询和管理数据模型的RESTful API,通过该文的介 ...