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 阅读详情

相关推荐

Ubuntu 20.04 LTS下5分钟搞定ONLYOFFICE协作空间社区版(Docker版保姆级教程)

本文提供了一份在Ubuntu 20.04 LTS系统上,通过Docker快速部署ONLYOFFICE协作空间社区版的保姆级教程。内容涵盖从系统准备、Docker环境搭建,到执行自动化安装脚本、完成Web初始化的全流程,并详细说明了部署后的安全配置、数据备份及基本运维要点,帮助用户高效构建私有、安全、可控的团队文档协作平台。

weixin_28826961的博客 261

JdbcTemplate – 调用存储过程

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

allway2的博客 4276

从零玩转显示屏:手把手教你用Arduino驱动SPI屏幕(附引脚定义图)

本文提供了一份详尽的Arduino驱动SPI屏幕的入门指南。从SPI接口的核心引脚定义(如DC、RESET)与RGB接口的区别讲起,手把手指导硬件连接与软件库配置,并最终通过一个天气显示器实战项目,帮助读者掌握驱动SPI屏幕、显示RGB色彩内容的核心技能。

weixin_29189987的博客 132

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

在运行opencv时出现的两个问题:AttributeError: module ‘cv2‘ has no attribute ‘gapi_wip_gst_GStreamerPipeline‘

解决了opencv的两个问题:由问题一引出 AttributeError: module 'cv2' has no attribute 'gapi_wip_gst_GStreamerPipeline' cv2.error:OpenCV(4.1.2)C:\projects\opencvpython\opencv\modules\highgui\src\window.cpp:717:error: (-2:Unspecified error) The function is not implemented...

hu_yinghui的博客 3276

power bi 演唱会-佐罗

我是业务分析人员,注重使用性,因此,课程不到 30% 的内容就可以解决目前为止我碰到的所有业务问题,剩下的 70% 内容是帮助我提升,优化,升华,精益求精用的,比如第三方工具,比如代码运行速度优化,比如查询逻辑优化等等。系统性上来说,结构明晰,安排上非常有条理,层层递进;《BI 真经》,中有真经二字,略显夸大,而当我第一次证明了这点的时候,我也非常惊讶,这就是我做以下所有事情的一切动力。《BI 真经》综合考量思想性,系统性,本质性,创新性,通用性,技巧性,启发性,对比其他课程有压倒性的显著优势。

v_1090213742的博客 911

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

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

weixin_43188446的博客 774

RFID射频识别技术介绍及简单应用

简单介绍RFID技术及其简单应用,后附简单门禁制作方法和代码

来者皆是客。 1万+

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

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

十年呵护的专栏 1848

【Unity+HoloLens2】从0开始在HoloLens2部署MR工程

HoloLens2部署的权威教程在微软的官方文档中,但有些问题其实官方文档并没有列出,所以在实际开发过程中如果遇到bug,就需要自身或者前人的经验去解决。比如:对于Hololens2来说,在VS中需选择ARM64而不是x86。部署需要有良好的网速;工程打包出来的文件路径和工程路径有关联,如果这两个路径不匹配,部署就会失败。部署后打不开可能是因为Unity中未添加需要部署的场景,在Build Settings中点击Add open Scenes。...

fmxs 4571

数字信号处理(一):Xilinx Vivado DDS IP核设计实例(文末附源码)

前言 在数字信号处理时我们经常会用到数字变频,包数字下变频(DDC)和数字上变频(DUC),这其中会用到Xilinx公司的DDS IP核或者Altera公司的NCO IP核来产生本振频率,以现数字域信号频谱搬移。本文我们通过例化Xilinx公司的DDS IP核来产生混频器本振输入频率,并给出Modelsim仿真测试结果。 1、Xilinx DDS IP简介 Xilinx公司的DDS IP核使用AX...

FPGA_Designer 1万+

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万+

《YOLOv12魔术师专栏》专栏介绍 & 专栏目录

《YOLOv12魔术师专栏》专栏介绍 & 专栏目录

①答疑群聊服务;②YOLO大模型知识问答系统;③计算机视觉论文生成智能体; 5059

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

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

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

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

蚩尤后裔-汪茂雄 7179

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

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、付费专栏及课程。

余额充值