中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

mybatis遇到Integer類型的參數時動態sql需要注意什么條件

發布時間:2022-03-14 11:54:50 來源:億速云 閱讀:205 作者:iii 欄目:開發技術

這篇“mybatis遇到Integer類型的參數時動態sql需要注意什么條件”文章的知識點大部分人都不太理解,所以小編給大家總結了以下內容,內容詳細,步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“mybatis遇到Integer類型的參數時動態sql需要注意什么條件”文章吧。

mybatis Integer類型參數動態sql注意條件

例如以下拼接的動態sql

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

當work_status為0時,Mybatis會將0解析為了空字符串&lsquo;&rsquo;,這樣if判斷就為false,如果想正確添加and后的查詢條件,應該改成

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

mybatis的坑&mdash;&mdash;Integer類型參數解析問題

有時候我們使用實體類傳遞參數時

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

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

這里對于bean.activitySort的判斷正常情況下如果activitySort是String類型,先判空,再判斷是否是空字符串,這樣是正常的,但是如果activitySort是Integer類型參數,那么使用時就需要注意,此處不能對activitySort進行空字符串的判斷,因為什么呢?

因為mybatis在解析Integer類型數據時

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

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

以上就是關于“mybatis遇到Integer類型的參數時動態sql需要注意什么條件”這篇文章的內容,相信大家都有了一定的了解,希望小編分享的內容對大家有幫助,若想了解更多相關的知識內容,請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

新平| 甘肃省| 海林市| 兴业县| 峨眉山市| 双峰县| 盱眙县| 客服| 鹤山市| 南宫市| 蓬溪县| 威海市| 轮台县| 大冶市| 方山县| 花垣县| 澎湖县| 兰溪市| 信宜市| 简阳市| 皮山县| 虹口区| 新郑市| 淮滨县| 仁化县| 襄城县| 五华县| 宁德市| 翁牛特旗| 阿鲁科尔沁旗| 淮北市| 奉贤区| 沿河| 霞浦县| 凤城市| 玛曲县| 伊宁县| 钟祥市| 浑源县| 江北区| 湾仔区|