亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

呼叫SQL預(yù)存程序的方法:使用CreateNativeQuery
P粉064448449
P粉064448449 2023-09-02 00:10:01
0
1
746
<p>我的SQL預(yù)存程序包含兩個(gè)查詢,我想從我的Java程式碼中呼叫該預(yù)存程序。 我嘗試了下面的程式碼,但它只傳回預(yù)存程序中的第一個(gè)查詢的結(jié)果清單。 </p> <pre class="brush:php;toolbar:false;">Query query = em.createNativeQuery("{call voucherRedemption(?,?,?)}"); query.setParameter(1, loggedinWorkSpaceId); query.setParameter(2, startDate); query.setParameter(3, endDate); List<Object[]> results = query.getResultList();</pre> <p>預(yù)存程序如下:</p> <pre class="brush:php;toolbar:false;">CREATE PROCEDURE `cer`.`voucherRedemption`(IN workspaceId int(10), IN startDate VARCHAR(30), IN endDate VARCHAR(30)) BEGIN select w.ws_name as wsName,str_to_date(startDate, '%Y-%m-%d') as startDate,str_to_date(endDate, '%Y-%m-%d') as endDate from workspace w where w.ws_id = workspaceId; select money.*,money.paidAmount money.prepaidAmount - money.clientCost,programs.programs 從 program; END</pre></p>
P粉064448449
P粉064448449

全部回覆(1)
P粉124070451

我建議像這樣使用EntityManager#createStoredProcedureQuery

StoredProcedureQuery query = em.createStoredProcedureQuery("voucherRedemption");
query.registerStoredProcedureParameter(1, Integer.class, ParameterMode.IN);
query.registerStoredProcedureParameter(2, String.class, ParameterMode.IN);
query.registerStoredProcedureParameter(3, String.class, ParameterMode.IN);
query.setParameter(1, loggedinWorkSpaceId);
query.setParameter(2, startDate);
query.setParameter(3, endDate);
List<Object[]> results = query.getResultList();

我還沒有使用它來獲取實(shí)際結(jié)果,只是執(zhí)行了一個(gè)過程。如果這個(gè)方法有效,請告訴我。

最新下載
更多>
網(wǎng)站特效
網(wǎng)站源碼
網(wǎng)站素材
前端模板