SpringBoot调用存储过程

时间:2018-05-23 14:00:43

标签: java spring-boot jpa java-stored-procedures

我在SQL Server中有一个存储过程,如下所示

CREATE OR REPLACE PROCEDURE studentById(id in number) 
AS 
BEGIN 
select fname||' '||lname,dept into sname,dept from student where sid=id; 
END;

在Java代码中我调用存储过程如下

StoredProcedureQuery storedProcedure = entitymanager.createStoredProcedureQuery("studentById"); 
storedProcedure.registerStoredProcedureParameter("id", Integer.class, ParameterMode.IN); 
storedProcedure.registerStoredProcedureParameter("sname", String.class, ParameterMode.OUT); 
storedProcedure.registerStoredProcedureParameter("dept", String.class, ParameterMode.OUT); 

storedProcedure.setParameter("id", id); 
storedProcedure.execute(); 

String name = storedProcedure.getOutputParameterValue("sname").toString(); 
String dept = storedProcedure.getOutputParameterValue("dept").toString();

我无法使用out参数获取结果集或数据 我无法更改我的存储过程,因为我无法访问数据库。

0 个答案:

没有答案