Java调用存储过程,使用JdbcTemplate

SpringBoot实战——详解JdbcTemplate操作存储过程 对于一些复杂的业务逻辑,使用存储过程可以提高数据库操作的效率和安全性。本文将详细介绍如何在SpringBoot项目中使用 JdbcTemplate 工具操作存储过程,方便地与数据库进行交互,调用存储过程。 阅读详情

1、sysDataSourceService是自定义的获取数据源服务

JdbcTemplate jdbcTempleDynamic = sysDataSourceService.getDataSourcePoolBySourceID(source_id);

2、使用jdbcTempleDynamic.execute调用存储过程,传入对应的所需参数

List<Map<String, Object>>  resultList = new ArrayList<Map<String, Object>>();
String sql="{call douzi_admin_v3.sp_drilling_search_v3(?,?,?,?,?,?,?)}"
resultList = (List<Map<String, Object>>) jdbcTempleDynamic.execute(
							new CallableStatementCreator() {
								public CallableStatement createCallableStatement(Connection con)
										throws SQLException {
								    String sql="{call douzi_admin_v3.sp_drilling_search_v3(?,?,?,?,?,?,?)}"
									CallableStatement cs=con.prepareCall(sql);
									cs.setString(1, item);
									cs.setString(2, target);
									cs.setString(3, beginTime);
									cs.setString(4, endTime);
									cs.setString(5, whereSql);
									cs.setString(6, timeType);
									cs.setLong(7, uid);
									cs.setString(8, lastkey);
									return cs;
								}
							},new CallableStatementCallback(){
								public Object doInCallableStatement(CallableStatement cs)
										throws SQLException, DataAccessException {
									cs.execute();
									List<Map<String, Object>> lastList = new ArrayList<Map<String,Object>>();  
									ResultSet rs = cs.getResultSet();
									ResultSetMetaData md = rs.getMetaData(); //获得结果集结构信息,元数据  
									int columnCount = md.getColumnCount();   //获得列数   
									//将JDBC ResultSet结果集转成List
									while(rs != null && rs.next()){
										//LinkedHashMap按输入顺序输出
										Map<String,Object> rowData = new LinkedHashMap<String,Object>();  
										for (int i = 1; i <= columnCount; i++) {  
											rowData.put(md.getColumnLabel(i), rs.getObject(i));//getColumnLabel()获取当前的字段名,getColumnName()获取数据库的字段名(别名没用)
										}  
										lastList.add(rowData);
									}
									return lastList;
								}
							}
						);
使用spring中的JdbcTemplate调用oracle中的有出入参数的存储过程 使用java spring中的JdbcTemplate调用oracle中的存储过程(该存储过程有入参还出参):存储过程: CREATE OR REPLACE PROCEDURE "HIS_BZ_QC"."PROC_APP_REGIST" ( Hosnum In Varchar2,--医院编号 App_Hid In Varchar2 阅读详情

相关推荐

紫光同创PDS软件操作指南:如何为FPGA新增自定义Flash型号

本文详细介绍了在紫光同创PDS软件中为FPGA新增自定义Flash型号的完整操作指南。针对官方支持列表之外的SPI Flash芯片,文章从理解FPGA配置逻辑入手,逐步讲解如何通过扫描Flash ID、在Flash Operator中精准填写参数、转换.sbit文件,最终完成固化的全过程,并分享了高级技巧与常见问题排查方法,帮助工程师摆脱对预设型号的依赖,实现灵活选型。

weixin_29204749的博客 327

JdbcTemplate – 调用存储过程

则会自动为德比,MySQL,微软SQL服务器,甲骨文,DB2,系统库和后greSQL数据库检测“IN”和“OUT”参数。下面是在参数和搜索结果中获取搜索计数的简单存储过程。3.2. 一个春季SimplJdbc调用示例,用于在存储过程调用中获取多个结果集。3.1. 一个包含多个结果的简单存储过程,演示如何获取最近更新的语句的行计数。参数,并提供更清晰的方法来注册过程/函数/架构/目录名称和参数绑定。1.1. 简单的Mysql存储过程,用于按名称获取用户的搜索结果。若要调用存储的函数,请使用。

allway2的博客 4276

Unity集成阿里云语音AI:从麦克风录音到实时语音合成的全流程实现

本文详细介绍了在Unity中集成阿里云语音AI服务,实现从麦克风录音到实时语音合成的完整流程。通过调用阿里云的语音转文字和文字转语音接口,开发者可以快速为游戏或应用添加语音交互功能,提升用户体验。文章涵盖了环境配置、签名认证、音频处理及项目集成等核心步骤,并提供了实用的调试技巧。

weixin_29224589的博客 323

JdbcTemplate调用存储过程

JdbcTemplate调用存储过程! 过程语句为: --根据员工编号,查询所在部门名称和职位信息 create or replace procedure getDnameJob(empno1 in varchar2,dname2 out varchar2,job2 out varchar2) is begin select e.job,d.dname into job2,dname2 from ...

weixin_42756198的博客 5894

饥荒联机版Mod开发——modmain环境与API深度解析

本文深入解析饥荒联机版Mod开发中的modmain.lua环境与核心API,详细讲解环境表构建原理、API注册与调用时机,并提供高级开发技巧与最佳实践。通过源码分析和实际案例,帮助开发者掌握Mod开发核心技术,解决常见问题,提升开发效率与代码质量。

weixin_30312563的博客 434

3D打印必备:如何用Blender将NWD文件转成STL(附精度调整技巧)

本文详细介绍了如何使用Blender将NWD文件转换为STL格式,特别针对3D打印需求提供了精度调整技巧。从环境准备到分步转换流程,再到3D打印专属优化策略,帮助设计师解决破面、尺寸偏差等常见问题,实现高效、精准的格式转换。

week9的博客 272

Spring使用JdbcTemplate项目中执行存储过程

1、Connection为全局变量,进行获取连接和释放连接如果发生请求并发时存在 线程异常,导致Connection获取连接不到并导致异常“java.sql.SQLRecoverableException: 关闭的语句”2、CallableStatement 在获取资源后也没有 close,正常需要先关闭statement对象,在关闭Connection对象。以上结果导致,在多个并发请求后,会导致绝大多是请求发生异常,返回数据为空。

weixin_43188446的博客 774

python控制caxa模块_CAXA二次开发实用手册.doc

您所在位置:网站首页 > 海量文档&nbsp>&nbsp汽车/机械/制造&nbsp>&nbsp机械软件CAXA二次开发实用手册.doc119页本文档一共被下载:次,您可全文免费在线阅读后下载本文档。 下载提示1.本站不保证该用户上传的文档完整性,不预览、不比对内容而直接下载产生的反悔问题本站不予受理。2.该文档所得收...

weixin_39990819的博客 1766

SpringBoot专栏|动态数据源抽取数据库数据

应用场景 根据用户配置的数据源动态的抽取或者查询该数据库的数据,应用场景还是比较多的,比如BI系统,动态配置多个数据源,无需重启,即可抽取数据 开题前 之前一直以为动态抽取数据是特别高深的技能点,总是望而却步,最近整理元数据系统时用到了该功能,查了部分资料,找了一种算是比较简单的方法(其它的还未尝试,欢迎小伙伴推荐) 正文 1.比如通过页面配置数据源链接,统一管理数据源。 2....

十年呵护的专栏 1848

别再纠结VS还是VSCode了!新手C#环境搭建保姆级指南(含.NET Core安装验证)

本文为C#新手提供Visual Studio与VS Code的深度对比及环境搭建指南,涵盖.NET Core安装验证、工具选择决策框架及实战配置技巧。帮助开发者根据项目需求选择合适工具,快速搭建高效开发环境,提升编码效率。

weixin_30455023的博客 561

Frenet坐标系下动态街道场景的最优轨迹生成

本文详细解读了Lattice Planner

BigDavid123的博客 2393

Spring JdbcTemplate实现有java.sql.ResultSet结果集返回的存储过程调用

一、调用存储过程 方式一: /** * 方法功能说明:通过存储过程分页,获取分页信息以及查询记录(装在list中); * List.get(0)= hsTable; //存放分页信息(tableName/token/pageNo/pageSize/recordsCount/pagesCount)--hsTable.get(key) * List.get(1)= record

hu_shengyang的专栏 1万+

超十万字解读Spring AI实战:开篇

大模型技术正以惊人的速度改变世界,2025年的人工智能已不再是科幻,而是现实。大模型如ChatGPT等,正在重塑各行各业,降低技术门槛,使专业能力普及化。SpringAI的出现为Java开发者提供了桥梁,使其能在企业级系统中稳定运行AI,同时保持工程化思维。尽管SpringAI在生态、学习成本和性能上存在不足,但其企业级基因和国产化适配能力使其成为Java开发者的重要工具。本系列文章旨在介绍SpringAI的功能与特性,鼓励更多Java开发者参与AI实践,共同探索AI时代的无限可能。

liaokailin的专栏 1577

Java jdbcTemplate调用Oracle存储过程,入参为list的记录

-创建自定义数据对象 CREATE OR REPLACE TYPE xm_object AS OBJECT(O_A NVARCHAR2(10) , O_B NVARCHAR2(2000) ,);--以自定义对象创建临时表 CREATE OR REPLACE TYPE xm_table AS TABLE OF xm_object;

fengyefate的博客 773

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

Spring JdbcTemplate 与原生 JDBC 调用 Oracle 存储过程/存储函数,Oracle Java 驱动下载

目录 前 言 调用无返回值的存储过程 调用单个返回值的存储过程 调用多个返回值的存储过程 前 言 1、关于 JdbcTemplate 的介绍、pom 依赖、DI 注入可以参考《Spring JdbcTemplate 模板剖析 之 常用 增删改查》,本文继续介绍 JdbcTemplate 调用数据库的存储过程,虽然 Mysql 也有存储过程,但是为了尽可能的多覆盖一点,本文选择调用 .........

蚩尤后裔-汪茂雄 7179

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

Java (jdbctemplate)中使用存储过程

(Java (jdbctemplate)中使用存储过程)

springsdl的博客 2415

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

[Java]通过Jdbc调用存储过程

Template.getDataSource().getConnection(); cs = conn.prepareCall(sqlLibrary.EventLog_listEventLogByAppIdNStatus); conn.setAutoCommit(false); cs.setString(1, app_flag); cs.setString(2, status); cs.setString(3, eventMaxCount); cs.regis

jameskaron的专栏 334

使用JdbcTemplate调用数据库存储过程

使用Jdbc调用存储过程相信大多数朋友在开发过程中都会用到,本例使用一个工具类将调用存储过程的方法封装起来,隐藏了大部分的处理逻辑,使用起来还是很方便的。 package com.coolfancy; import java.math.BigDecimal; import java.sql.CallableStatement; import java.sql.Connection;

fancy888的专栏 1182

spring的JdbcTemplate操作oracle的存储过程

场景: 使用java代码调用oracle的存储过程,本例使用JdbcTemplate模板类操作. 功能: 方便后续查阅. 1.JdbcTemplate调用存储过程(Procedure)不带返回值 1.1存储过程 CREATE OR REPLACE PROCEDURE PRO_QUERY_INFO_ARGS4(TASK_ID IN NUMBER) IS BEGIN INSER...

zhangbeizhen18的博客 2364

java调存储过程返回list_spring jdbctemplate调用存储过程,返回list对象

spring jdbctemplate调用存储过程,返回list对象方法:/*** 调用存储过程* @param spName*/@SuppressWarnings("unchecked")public List> executeSP(String procedure) {//procedure = "{call WCITY2_STATISTIC.sp_uservisit_stat(?)}"...

weixin_42295528的博客 489

JdbcTemplate调取SqlServer的存储过程

JdbcTemplate调取SqlServer存储过程

weixin_36027383的博客 613

java 存储过程 数组_jdbctemplate调用存储过程传递数组参数

1.java.lang.ClassCastException: oracle.jdbc.driver.T4CConnection cannot cast to oracle.jdbc.connection2.无效的列名称类型[@more@]第一个错误的解决分为两步:先把从jndi获取的数据源的connection转换为nativeConnection,转换的方法是:con = con.getMet...

weixin_35990295的博客 425

[jdbctemplate+POSTGRESQL+存储过程]jdbc调用存储过程顺便勘误同时给出几个较好的配合方式

前言 关于postgresql的多结果集,或者游标返回存储过程请查看上篇文章: 【转载】postgresql存储过程中返回类型 本篇文章主要是为了将游标cursor的返回结果实用化而作出各种猜测及调整。目的在于找到java+pg数据库存储过程的最佳开发模式及调用方式。 必要数据及代码交代 数据表: 地区区域表一张,数据量大约30000条,不过不是重点,表结构如下: &amp;amp;amp;quot;id&amp;amp;amp;quot; int4 DEFAUL...

一名普通码农的菜地 5911

java调用sql返回list_Spring JdbcTemplate实现有java.sql.ResultSet结果集返回的存储过程调用...

一、调用存储过程方式一:/*** 方法功能说明:通过存储过程分页,获取分页信息以及查询记录(装在list中);* List.get(0)= hsTable; //存放分页信息(tableName/token/pageNo/pageSize/recordsCount/pagesCount)--hsTable.get(key)* List.get(1)= recordsList; //存放分页查询所获...

weixin_28730549的博客 423

使用Spring JdbcTemplate调用存储过程

使用Spring JdbcTemplate调用存储过程  Spring的SimpleJdbcTemplate将存储过程的调用进行了良好的封装,但可惜只能用于jdk1.5的环境,无法再jdk1.4环境下使用,而JdbcTemplate则完全适用于jdk1.4下的环境,下面列出使用JdbcTemplate调用Oracle存储过程的一些方法:  一) 无返回值的存储过程调用  存储过程:  

xwq911的专栏 614

java spring 调用mysql存储过程_Spring-JdbcTemplete调用Mysql存储过程

org.springframework.jdbc.object.StoredProcedure 这是一个抽象类,通过declareParameter方法来声明存储过程的输入输出参数,再由execute方法来调用存储过程。org.springframework.jdbc.core.SqlParameter 用来代表存储过程的参数。org.springframework.jdbc.core.Resul...

weixin_35569211的博客 287
上一篇: java多线程的使用
下一篇: list中map将根据某几个key值相等的累加
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值