簡體   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