Mybatis傳多個引數的3中方法

2021-10-02 05:42:41 字數 1522 閱讀 8237

1).第一種方案

dao層的函式方法

public user selectuser

(string name,string area)

;

"selectuser" resultmap=

"baseresultmap"

>

select * from table where user_name = # and user_area=#

<

/select>

其中,#代表接收的是dao層中的第乙個引數,#代表dao層中第二引數,更多引數一致往後加即可。

2)第二種方案

此方法採用map傳多引數.

service層呼叫

public user selectuser()

dao層的函式方法

public user selectuser

(map

parammap)

;

"selectuser" resultmap=

"baseresultmap"

>

select * from table

where user_name = # and user_area=#

<

/select>

#和#對應map中的鍵名稱

此方法不夠直觀,見到介面方法不能直接的知道要傳的引數是什麼。

3)第三種方案

dao層的函式方法

int

attachmenutorole

(@param

("roleid"

) integer roleid,

@param

("menuidlist"

) list

menuidlist)

;

使用@param註解來對映傳入的引數,xml檔案中直接引用@param中」roleid」和」menuidlist」的值即可

"attachmenutorole"

>

insert into role_menu

(role_id, menu_id)

values

<

if test=

"null != menuidlist and menuidlist.size()>0"

>

"menuidlist" item=

"menuid" separator=

",">

(#,#

)<

/foreach>

>

<

/insert>

這種方法比較好,能讓開發者看到dao層方法就知道該傳什麼樣的引數,比較直觀,推薦此種方案。

MyBatis傳多個引數

對於mybatis是個新手,在網上查了好多關於其傳引數的資料,試了好多種方法,其一如下 public int getgg zdsm param zddm string zddm param querytype string querytype,param time string time 在sql中...

Mybatis傳多個引數

dao層的函式方法 public user selectuser string name,string area select from user user t where user name and user area 其中,代表接收的是dao層中的第乙個引數,代表dao層中第二引數,更多引數一致...

mybatis傳多個引數

據我目前接觸到的傳多個引數的方案有三種。dao層的函式方法 1 publicuserselectuser stringname,string area 1 2 3 selectid selectuser resultmap baseresultmap select fromuser user twh...