最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

關(guān)于mybatis遇到Integer類型的參數(shù)時(shí)動態(tài)sql需要注意條件

 更新時(shí)間:2022年03月14日 10:31:34   作者:yangyansong789  
這篇文章主要介紹了關(guān)于mybatis遇到Integer類型的參數(shù)時(shí)動態(tài)sql需要注意條件,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

mybatis Integer類型參數(shù)動態(tài)sql注意條件

例如以下拼接的動態(tài)sql

<if test="work_status !=null ?and work_status !='' ">
?and T.status=#{work_status,jdbcType=INTEGER}
</if>

當(dāng)work_status為0時(shí),Mybatis會將0解析為了空字符串‘’,這樣if判斷就為false,如果想正確添加and后的查詢條件,應(yīng)該改成

<if test="work_status !=null ?">
?and T.status=#{work_status,jdbcType=INTEGER}
</if>

mybatis的坑——Integer類型參數(shù)解析問題

有時(shí)候我們使用實(shí)體類傳遞參數(shù)時(shí)

有些屬性會被設(shè)置為Integer類型,比如status、sort等,在這里,使用Integer類型參數(shù)作為條件時(shí),要注意一點(diǎn):例如

<if test="bean.activitySort != null and bean.activitySort !=""">
? ? ? ? AND activity_sort = #{bean.activitySort,jdbcType=VARCHAR}
</if>

這里對于bean.activitySort的判斷正常情況下如果activitySort是String類型,先判空,再判斷是否是空字符串,這樣是正常的,但是如果activitySort是Integer類型參數(shù),那么使用時(shí)就需要注意,此處不能對activitySort進(jìn)行空字符串的判斷,因?yàn)槭裁茨兀?/p>

因?yàn)閙ybatis在解析Integer類型數(shù)據(jù)時(shí)

如果數(shù)據(jù)值為0,會將0解析為空字符串,這樣你傳入的參數(shù)就成為無效的了,所以正常使用Integer類型參數(shù)應(yīng)該是下面這樣:

<if test="bean.activitySort != null">
? ? ? ? AND activity_sort = #{bean.activitySort,jdbcType=VARCHAR}
</if>

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論

西和县| 泰顺县| 信丰县| 泾川县| 金平| 清镇市| 保德县| 丹阳市| 大安市| 泰安市| 石狮市| 称多县| 隆安县| 波密县| 都安| 织金县| 皮山县| 长海县| 定兴县| 唐山市| 息烽县| 聂荣县| 马鞍山市| 和静县| 阿克陶县| 奉新县| 临安市| 饶河县| 巴南区| 莲花县| 泗阳县| 永兴县| 平阴县| 昌宁县| 商都县| 越西县| 长子县| 增城市| 鲜城| 双城市| 柘城县|