Mybatis 执行存储过程(没有返回数据集)
spring boot mybatis中 !--通过受理类别、受理组别生成当前最大流水号的受理编号-- !--执行存储过程获取输出参数 outerApplyId 的值-- select idgenerateOuterApplyId resultTypejava.lang.Object parameterTypejava.util.HashMap statementTypeCALLABLE execute proc_generateOuterApplyId #{acceptType}, #{acceptGroupId}, #{outerApplyId,modeOUT,jdbcTypeVARCHAR} /select 如果是执行没有返回数据集的存储过程又应该如何编写相关代码对于执行没有返回数据集即不返回任何结果集的存储过程核心区别在于不需要接收输出参数只需执行存储过程语句并传入输入参数。MyBatis 依然使用statementTypeCALLABLE但标签建议选用update而不是select因为这类操作本质上是数据变更update语义更清晰且不影响事务边界。1. 存储过程无任何输出参数仅输入参数假设存储过程定义为sqlPROCEDURE proc_update_status( IN p_accept_type VARCHAR(10), IN p_group_id INT )Mapper XMLxmlupdate idupdateStatus statementTypeCALLABLE parameterTypemap execute proc_update_status( #{acceptType, jdbcTypeVARCHAR}, #{acceptGroupId, jdbcTypeINTEGER} ) /update或使用标准的 JDBC 调用语法xmlupdate idupdateStatus statementTypeCALLABLE parameterTypemap {call proc_update_status( #{acceptType, jdbcTypeVARCHAR}, #{acceptGroupId, jdbcTypeINTEGER} )} /updateMapper 接口方法javavoid updateStatus(Param(acceptType) String acceptType, Param(acceptGroupId) Integer acceptGroupId); // 或使用 Map 参数 void updateStatus(MapString, Object params);调用后直接执行无返回值。2. 存储过程既有输入参数也有输出参数但仍无结果集如果存储过程本身不返回数据集但需要获取输出参数的值则必须使用modeOUT定义输出参数并从传入的Map或Param对象中获取。示例存储过程sqlPROCEDURE proc_generate_code( IN p_type VARCHAR(10), IN p_group INT, OUT p_code VARCHAR(20) )Mapper XMLxmlselect idgenerateCode resultTypestring statementTypeCALLABLE parameterTypemap execute proc_generate_code( #{acceptType, jdbcTypeVARCHAR}, #{acceptGroupId, jdbcTypeINTEGER}, #{code, modeOUT, jdbcTypeVARCHAR} ) /select注意因为要获取输出参数通常仍使用select且可以声明resultType这里的resultType其实是存储过程本身的返回值不是输出参数输出参数需通过入参对象获取。Mapper 接口方法javavoid generateCode(MapString, Object params); // 或 String generateCode(Param(acceptType) String acceptType, Param(acceptGroupId) Integer acceptGroupId, Param(code) String[] codeHolder); // 使用数组/引用类型接收输出调用示例javaMapString, Object params new HashMap(); params.put(acceptType, 01); params.put(acceptGroupId, 100); mapper.generateCode(params); String code (String) params.get(code); // 获取输出参数值3. 存储过程既无结果集也无输出参数但有返回值某些数据库如 MySQL支持存储函数FUNCTION或者存储过程可以通过? call proc()返回单值。此时需用jdbcType定义返回值位置。示例MySQL 函数sqlFUNCTION func_calc(a INT, b INT) RETURNS INTMapper XMLxmlselect idcalc resultTypeint statementTypeCALLABLE { #{result, modeOUT, jdbcTypeINTEGER} call func_calc( #{a, jdbcTypeINTEGER}, #{b, jdbcTypeINTEGER} )} /select或使用update但配合resultType不推荐。✅ 总结建议场景推荐标签输出参数处理接口返回值无返回数据集无输出参数update不定义modeOUTvoid无返回数据集但有输出参数select定义modeOUT从参数取void存储函数或? call形式单值返回select定义modeOUT特殊位置resultType定义类型关键点无论是否有输出参数statementTypeCALLABLE都必须设置。输出参数的值不会作为 MyBatis 方法返回值必须通过传入的Map或数组对象在调用后获取。对于纯粹的数据变更类存储过程无输出优先使用update标签语义更准确。这样你就能根据存储过程的具体特征灵活选择配置方式了。

相关新闻

HY-Motion 1.0入门指南:Flow Matching与传统Diffusion本质差异图解

HY-Motion 1.0入门指南:Flow Matching与传统Diffusion本质差异图解

HY-Motion 1.0入门指南:Flow Matching与传统Diffusion本质差异图解 1. 学习目标与前置知识 本文将带你深入了解HY-Motion 1.0这一革命性的动作生成模型,特别聚焦于其核心技术创新——Flow Matching(流匹配)技术与传统Diffusion&…

2026/7/7 5:03:28 阅读更多 →
使用GitHub管理LingBot-Depth-Pretrain-ViTL-14开发项目的协作流程

使用GitHub管理LingBot-Depth-Pretrain-ViTL-14开发项目的协作流程

使用GitHub管理LingBot-Depth-Pretrain-ViTL-14开发项目的协作流程 1. 项目概述与GitHub优势 LingBot-Depth-Pretrain-ViTL-14是一个基于掩码深度建模的空间感知项目,专注于将不完整和有噪声的深度传感器数据转换为高质量、度量精确的3D测量。对于这样的开源项目&…

2026/7/6 21:57:50 阅读更多 →
GLM-OCR多任务Prompt详解:Text/Table/Formula Recognition三类提示词写法

GLM-OCR多任务Prompt详解:Text/Table/Formula Recognition三类提示词写法

GLM-OCR多任务Prompt详解:Text/Table/Formula Recognition三类提示词写法 1. 项目概述与核心能力 GLM-OCR是一个基于先进多模态架构的智能文档识别系统,它能够处理各种复杂的文档内容。这个模型最大的特点是能够同时处理文本识别、表格识别和公式识别三…

2026/7/5 0:29:43 阅读更多 →

最新新闻

Excel中PI()函数的精度本质与工程价值

Excel中PI()函数的精度本质与工程价值

1. 项目概述:Excel里那个看似简单的PI()函数,远比你想象的更关键 在Excel里输入 PI() ,回车,得到3.14159265358979——这个结果你可能见过无数次,甚至觉得它不过是个“内置常数”,点开函数向导、选中PI()…

2026/7/7 21:31:36 阅读更多 →
EM3080-W与PIC18F85J50的嵌入式条码识别系统设计

EM3080-W与PIC18F85J50的嵌入式条码识别系统设计

1. EM3080-W解码芯片与PIC18F85J50的硬件协同设计在嵌入式条码识别系统中,EM3080-W作为专业解码芯片与PIC18F85J50微控制器的组合堪称黄金搭档。这套方案最突出的优势在于其工业级的可靠性和高达99.5%的首读率。EM3080-W内部采用双核DSP架构,主核负责图像…

2026/7/7 21:31:36 阅读更多 →
Google Authenticator开源项目架构解析:跨平台双因素认证实现原理

Google Authenticator开源项目架构解析:跨平台双因素认证实现原理

Google Authenticator开源项目架构解析:跨平台双因素认证实现原理 【免费下载链接】google-authenticator Open source version of Google Authenticator (except the Android app) 项目地址: https://gitcode.com/gh_mirrors/googl/google-authenticator Go…

2026/7/7 21:29:34 阅读更多 →
字节一面:RAG七连问,前3题筛掉一半,最后一题几乎没人扛得住

字节一面:RAG七连问,前3题筛掉一半,最后一题几乎没人扛得住

周末有个读者找我,说他面字节 Agent 开发岗,一面聊了四十分钟项目,其中将近半小时全在追问他的 RAG 系统。 不是那种"你用了什么向量数据库""chunk size 设了多少"的表面问题。 是从数据源头开始,一层一层往…

2026/7/7 21:29:34 阅读更多 →
驾驶证公证翻译线上办理流程是什么?线上远程驾驶证公证怎么办理?

驾驶证公证翻译线上办理流程是什么?线上远程驾驶证公证怎么办理?

打算出国自驾、海外务工或者留学的朋友,大概率都碰到过这个头疼的问题:手里的中国驾照拿到国外不好使,租车公司不认,路上遇到检查也解释不清。想办个驾驶证公证翻译吧,又不知道去哪办、要准备啥材料、得花多少钱、多久…

2026/7/7 21:29:34 阅读更多 →
WorkshopDL:终极Steam创意工坊下载器,无需Steam也能畅享海量模组

WorkshopDL:终极Steam创意工坊下载器,无需Steam也能畅享海量模组

WorkshopDL:终极Steam创意工坊下载器,无需Steam也能畅享海量模组 【免费下载链接】WorkshopDL WorkshopDL - The Best Steam Workshop Downloader 项目地址: https://gitcode.com/gh_mirrors/wo/WorkshopDL 还在为Steam创意工坊的模组无法在其他平…

2026/7/7 21:27:34 阅读更多 →

日新闻

鸿蒙新特性:图片画廊与轮播导航——构建沉浸式图片浏览体验

鸿蒙新特性:图片画廊与轮播导航——构建沉浸式图片浏览体验

图片浏览是移动应用中最高频的场景之一。从社交应用的照片流到电商平台的商品图集,从旅游应用的景点相册到摄影作品展示——用户对图片浏览的体验要求不断提高:流畅的切换动画、直观的缩略图导航、便捷的收藏操作、自动播放模式。HarmonyOS NEXT ArkUI 虽…

2026/7/7 0:05:16 阅读更多 →
24V DC-DC降压芯片PW2312B/PW2815,SOT23-6到SOP8-EP方案对比

24V DC-DC降压芯片PW2312B/PW2815,SOT23-6到SOP8-EP方案对比

24V稳压芯片完整选型指南 PW8600 PW75XX PW2815 PW2312B LDODC/DC全方案 一、24V稳压方案概述 24V直流电源在工业自动化、门禁系统、电梯控制、汽车电子、LED驱动、监控设备等场景中应用极广,是最常见的中压直流母线电压。要将24V母线稳定降压至下游MCU、传感器…

2026/7/7 0:05:16 阅读更多 →
RAG+知识图谱混合检索与Graph RAG核心对比

RAG+知识图谱混合检索与Graph RAG核心对比

做企业RAG落地的团队,往往容易卡在一容易踩坑的选型难题: 当需求单纯靠向量RAG搞不定、单纯靠知识图谱也搞不定,必须同时依赖「文本语义理解 实体关系推理」时,到底是做「向量图谱混合检索」就够了,还是必须上「Grap…

2026/7/7 0:07:19 阅读更多 →

周新闻

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容 【免费下载链接】BiliTools A cross-platform bilibili toolbox. 跨平台哔哩哔哩工具箱,支持下载视频、番剧等等各类资源 项目地址: https://gitcode.com/GitHub_Trending/bilit/BiliTools …

2026/7/7 14:24:45 阅读更多 →
威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型的陌生现状在忙碌疲惫的一天里,参与了关于混合后量子密码学的讨论,应付端点攻击找茬的人,还参与留言板讨论后,发现“威胁模型”对多数人仍是陌生概念,且多被当作时髦用语。有趣的相关画作有一幅由 Embyr 创作的…

2026/7/7 12:34:47 阅读更多 →
渗透测试入门指南:从零基础到实战环境搭建

渗透测试入门指南:从零基础到实战环境搭建

1. 从“看热闹”到“入门”:我理解的渗透测试到底是什么?每次看到新闻里说某个大公司的数据被“黑”了,或者某个网站被攻击导致服务瘫痪,你是不是和我一样,心里会冒出两个念头:一是“这黑客真厉害”&#x…

2026/7/7 15:59:06 阅读更多 →

月新闻