繁体   English   中英

使用hibernate / jdbc以值/对象列表作为参数从Java代码调用存储过程

[英]Calling stored procedure from java code using hibernate/jdbc with list of values/objects as parameter

有没有一种方法可以使用hibernate / jdbc并通过传递值/对象列表作为参数来通过Java代码调用在SQL Server上创建的存储过程? 如果是,那我该如何实现呢? 我知道如何调用存储过程,但是到目前为止,我已经使用了存储过程,只传递了几个参数,而不是完整的值列表,因为我打算进行批量更新/插入。 如果我执行以下操作,那会有意义吗?

getTemplate().getSessionFactory().getCurrentSession().createSQLQuery("CALL proc_insert(:list)").setParameterList("list", objList).executeUpdate();

这可能有助于使用callableStatement

String getDBUSERByUserIdSql = "{call getDBUSERByUserId(?,?,?,?)}";
callableStatement = dbConnection.prepareCall(getDBUSERByUserIdSql);
callableStatement.setInt(1, 10);
callableStatement.registerOutParameter(2, java.sql.Types.VARCHAR);
callableStatement.registerOutParameter(3, java.sql.Types.VARCHAR);
callableStatement.registerOutParameter(4, java.sql.Types.DATE);

// execute getDBUSERByUserId store procedure
callableStatement.executeUpdate();

String userName = callableStatement.getString(2);
String createdBy = callableStatement.getString(3);
Date createdDate = callableStatement.getDate(4);

有关更多信息, 请单击

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM