關(guān)于mybatis遇到Integer類型的參數(shù)時(shí)動態(tài)sql需要注意條件
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)文章
JVM用寄存器實(shí)現(xiàn)程序計(jì)數(shù)
這篇文章主要介紹了JVM用寄存器實(shí)現(xiàn)程序計(jì)數(shù),JVM中的程序計(jì)數(shù)寄存器(Program Counter Register),Register的命名源于CPU的寄存器,寄存器存儲指令相關(guān)的現(xiàn)場信息。CPU只有把數(shù)據(jù)裝載到寄存器才能夠運(yùn)行2023-02-02navicatdesignquery.sql.bak系統(tǒng)找不到指定路徑錯(cuò)誤的解決方法
今天小編就為大家分享一篇關(guān)于navicatdesignquery.sql.bak系統(tǒng)找不到指定路徑錯(cuò)誤的解決方法,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧2018-12-12Java使用Queryable-pageable實(shí)現(xiàn)分頁效果
這篇文章主要為大家介紹了Java如何使用Queryable-pageable從而實(shí)現(xiàn)分頁效果,文中的示例代碼簡潔易懂,感興趣的小伙伴可以動手嘗試一下2022-06-06java編程兩種樹形菜單結(jié)構(gòu)的轉(zhuǎn)換代碼
這篇文章主要介紹了java編程兩種樹形菜單結(jié)構(gòu)的轉(zhuǎn)換代碼,首先介紹了兩種樹形菜單結(jié)構(gòu)的代碼,然后展示了轉(zhuǎn)換器實(shí)例代碼,最后分享了相關(guān)實(shí)例及結(jié)果演示,具有一定借鑒價(jià)值,需要的朋友可以了解下。2017-12-12java實(shí)現(xiàn)實(shí)時(shí)通信聊天程序
這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)實(shí)時(shí)通信聊天程序,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-06-06