4 回答

TA貢獻(xiàn)1804條經(jīng)驗(yàn) 獲得超2個(gè)贊
一、參數(shù)list時(shí),先判斷是否為空,否則會(huì)報(bào)錯(cuò)。
二、mybatis ${}與#{}的區(qū)別
簡(jiǎn)單來(lái)說(shuō)#{} 解析的是占位符?可以防止SQL注入, 比如打印出來(lái)的語(yǔ)句 select * from table where id=?然而${} 則是不能防止SQL注入打印出來(lái)的語(yǔ)句 select * from table where id=2 實(shí)實(shí)在在的參數(shù)。最簡(jiǎn)單的區(qū)別就是${}解析穿過(guò)來(lái)的參數(shù)值不帶單引號(hào),#{}解析傳過(guò)來(lái)參數(shù)帶單引號(hào)。最后總結(jié)一下必須使用$引用參數(shù)的情況,那就是參數(shù)的int型的時(shí)候,必須使用$引用。

TA貢獻(xiàn)1829條經(jīng)驗(yàn) 獲得超4個(gè)贊
<if test="search.dataforArray != null"> and datefor in ;
<foreach item="item" index="index";
collection="search.dataforArray";
open="("separator="," close=")">#{item}</foreach>
</if>。
循環(huán)體中的具體對(duì)象:支持屬性的點(diǎn)路徑訪問(wèn),如item.age,item.info.details,具體說(shuō)明:在list和數(shù)組中是其中的對(duì)象,在map中是value,collection,要做foreach的對(duì)象,作為入?yún)r(shí),List<?>對(duì)象默認(rèn)用list代替作為鍵,數(shù)組對(duì)象有array代替作為鍵,Map對(duì)象沒(méi)有默認(rèn)的鍵。當(dāng)然在作為入?yún)r(shí)可以使用@Param("keyName")來(lái)設(shè)置鍵,設(shè)置keyName后,list,array將會(huì)失效。 除了入?yún)⑦@種情況外,還有一種作為參數(shù)對(duì)象的某個(gè)字段的時(shí)候。

TA貢獻(xiàn)1827條經(jīng)驗(yàn) 獲得超4個(gè)贊
<if test="search.dataforArray != null">
and datefor in
<foreach item="item" index="index" collection="search.dataforArray" open="(" separator="," close=")">#{item}</foreach>
</if>

TA貢獻(xiàn)1856條經(jīng)驗(yàn) 獲得超5個(gè)贊
這個(gè)<if test="search.dataforArray != null">
改為:
<if test="search.dataforArray != null and search.dataforArray !=''" >
添加回答
舉報(bào)