如何將ArrayList
作爲參數從Java類傳遞到StoredProcedure
?將ArrayList作爲參數傳遞給StoredProcedure
我有一個從該數據庫StoredProcedure
被稱爲像在下面的代碼所示的方法:
public void insertFileDownload(ArrayList<String> spareaList, ArrayList<String> spcollrtList, ArrayList<String> spmaintRtList, ArrayList<String> spenfRtList) {
if (spareaList != null) {
for (String a : spareaList) {//for Areas
Map<String, Object> param = new HashMap<String, Object>();
param.put("areaName", a);
param.put("collroutesName", null);
param.put("maintrtsName", null);
param.put("enfrtsName", null);
genericDao.sqlQueryWithParameters(" {call sp_addMeterJob(:areaName,:collroutesName,:maintrtsName,:enfrtsName) }", param);
}
} else if (spcollrtList != null) {//for CollectionRoutes
for (String cllRt : spcollrtList) {
Map<String, Object> param = new HashMap<String, Object>();
param.put("areaName", null);
param.put("collroutesName", cllRt);
param.put("maintrtsName", null);
param.put("enfrtsName", null);
genericDao.sqlQueryWithParameters(" {call sp_addMeterJob(:areaName,:collroutesName,:maintrtsName,:enfrtsName) }", param);
}
..........
目前我使用的if else條件4次,以檢查對每個到來的數組列表參數設定值作爲參數存儲過程。
有沒有其他更好的方法避免許多其他塊?
也許你可以使用覆蓋和更改代碼中的邏輯有點 –
將SQL存儲過程添加到問題中。 – Perception