sql中傳入乙個list,返回乙個list

2021-09-20 19:52:20 字數 1714 閱讀 5299

-----------傳入陣列------返回list----------

string sendpersonidarr = sendpersonid.split(",");

listlist = staffinfoservice.listphonesbyids(sendpersonidarr);

select h.telphone from hr_staff_info h left join sys_user u on h.staffinfo_id=u.staff_id where 

u.id in  

#-----傳入list----返回list------

public listfindbyuseridlist(listuserlist) throws exception 

select * from sys_user  where id in 

#

-----------傳入乙個map---------批量修改資料---------------

controller中:

mapmap = new hashmap<>();

map.put("notifynum", notifynum);

map.put("useridarr", useridarr);

userservice.sendnotify(map);

sql中:

update user 

set notify_codes=if(notify_codes is null or notify_codes='',#,concat(notify_codes,',',#))

where id in

#總結:①這裡傳入了乙個string notifynum和乙個string useridarr ,我們只要在sql中名稱匹配就可以了。

②批量修改也可以用in 

③在修改的時候,我們可以在原來的字段值中直接後面追加字串。當原來的值為數字的時候,我們可以  update user set notify_codes=notify_codes+'2'  where id='24' 

這樣,假設原來為5,那麼現在就為 7 了。

當原來的值是乙個string型別時,我們可以用 concat(notify_codes,',',#) 來在後面追加 。比如原來為  "12" 現在最加乙個  ",13"  那麼結果為  "12,13"   

④判斷乙個字段是否為空的時候,用這樣用  if(notify_codes is null or notify_codes='','為空或空字串返回這個值','非空的時候返回這個值')

第二種方式:整條語句迴圈  (自己未驗證)

update test   

test=$+1  

where id = $  

sql中我們可以傳入乙個list或者乙個陣列,返回乙個list。

這裡用到了sql中的 in,用到了sql中的遍歷。

parametertype="string"
同時 要保證impl中的引數名和sql中的名字要一致。

如下:

@override

public user findbyue(string userid)throws exception

sql :

u.id = #

傳入6個引數,返回乙個結果集

設計乙個procedure,接受6個引數,根據6個引數的組合,查詢出滿足條件的結果集。初學oracle,接受了多個引數後,不知道如何做引數組合後的輸出,只會寫傳入乙個引數時的情況 要求 例如,當用如下方式呼叫時 sql code begin market query null,10045 null,...

乙個函式中返回多個值

如把多個需要返回的值作相應的處理後變成乙個可以用return 語句返回的資料,再在主調函式中拆開返回的資料使之變成幾個值。那麼當我們希望從乙個函式中返回多個值時,用什麼方法去實現比較合理呢?2方法1 利用全域性變數 分析 全域性變數作為c 語言的乙個知識點,雖然我們都了解它的特點,但在實際教學過程中...

vue中data返回乙個函式

function person var obj1 person var obj2 person obj1.name b console.log obj1 console.log obj2 a function person var obj1 person var obj2 person obj1.n...