MYBATIS中if test判斷中的注意事項
mybatis中有這樣一個SQL判斷,
<if test="status != null and status !='' ">
and a.STATUS = #{status,jdbcType=SMALLINT}
</if>
status是一個Byte型別物件,當status = 1時判斷成立,status=0 就不成立,按理說都應該成立的。自己試著把status !=’’ 去掉之後就都成立了。後來網上查了好久,才明白mybatis會把number型別的0當成false,非0為true,類似於JavaScript中0!=''
結果為false,從而導致=0的時候判斷總是不成立。
其實只有String型別才需要判斷!=''
詳細的可以看看這個大佬寫的:http://jackyrong.iteye.com/blog/2377596
相關推薦
MYBATIS中if test判斷中的注意事項
mybatis中有這樣一個SQL判斷, <if test="status != null and status !='' "> and a.STATUS = #{status,jdbcType=SMALLINT} </if> status是一個Byte型
linux中 shell 中 if 條件判斷中 -a 到 -z 的意思
[ -a FILE ] 如果 FILE 存在則為真。 [ -b FILE ] 如果 FILE 存在且是一個塊特殊檔案則為真。 [ -c FILE ] 如果 FILE 存在且是一個字特殊檔案則為真。 [ -d FILE ] 如果 FILE 存在且是一個目錄則為真。 [ -e FILE ] 如果 FIL
myBatis中if test 字串注意事項
錯誤寫法: <if test="userName == 'boshen'"> AND `USER_NAME` = #{userName} </if> 正確寫法:
mybatis中if標籤判斷字串相等問題
mybatis 對映檔案中,if標籤判斷字串sfyx變數是否是字串Y的時候,發現並不管用: <if test="sfyx=='Y' "> and 1=1 </if> 當時就尋思著可能是字元和字串的問題,改成雙引號試
Mybatis中 if標籤判斷字串
在做開發的時候遇到這樣一個問題:當傳入的type的值為y的時候,if判斷內的sql也不會執行。 <if test="type=='y'"> and status = 0 </if> 仔細想想:my
mybatis中if標籤判斷字串相等
今日按需求在mapper.xml中修改完一條sql的條件,感覺很輕鬆,如下所示:<if test="companyId != null and companyId !='' "> <if test="companyFlag == '1'"> A
Spring Boot日誌配置中的file和path注意事項
注意:同時配置了logging.file和logging.path只有一個生效。 例如 application.properties檔案中的日誌配置如下 logging.file=mylog.txt logging.path=/var/myapp/ 實際只有logging.
Android NDK中socket的用法以及注意事項分析
Android NDK中使用socket的整個過程分為以下幾部分:第一部分: 建立socket並繫結IP和埠 複製程式碼程式碼如下: #include <sys/select.h> #include <sys/socket.h> #include <arpa/
PHP 在foreach中使用&時的注意事項
$arr = [111, 222, 333];foreach ( $arr as &$value ) { var_dump($value);}foreach ( $arr as $value ) { var_dump($value);} 執行結果: 出現這種情況是因為在第一個for
LInux系統中使用訊號量對兩個程序中訪問同一資源互斥注意事項
對於同一個共享資源的訪問,在Linux系統應用程式設計中經常遇到,通過訊號量來保護共享資源,實現互斥非常重要,對於實現互斥一般有如下幾個步驟: (1):建立訊號量:呼叫 int semget(key_t key,int num,in
ListView中getChildAt(index)的使用注意事項
1.原理 在很多時候ListView列表資料不需要全部重新整理,只需重新整理有資料變化的那一條,這時可以用getChildAt(index)獲取某個指定position的view,並對該view進行重新整理。 注意:在ListView中,使用getChildAt(in
vue 中使用引用型別的注意事項
前言 js 中物件Object、陣列Array都是引用型別。 引用型別var a={name:'tom'}; var b=a; a={}; console.log(b.name) //tom 當用變數宣告一個引用型別時,實際上這個變數不是引用型別本身,而是
IDEA中新建Java Web工程注意事項
IDEA中注意事項 在WEB-INF下新建lib和classes不是必須的。如果自己新建了,每次必須手動將jar依賴在src和web下的lib都新放一份。 getServletConfig().getServletContext().getRealPath()如果在idea中使用,需
分類任務中label取值的注意事項(caffe框架下),從0開始,連續整數,
最近在做一個分類任務的實驗的時候,對標籤的取值產生了一些疑惑,所以看了一點對應的原始碼,順利解決了疑惑,在這裡和大家分享,如果有什麼理解錯誤還請大家指出。 之前做分類任務的時候總有聽說,標籤(label)的取值需要從0開始,按照個人的習慣,我在
c++中結構體位域使用注意事項
1、一個位域必須儲存在同一個單元中,不能跨兩個單元。如一個單元所剩空間不夠存放另一位域時,應從下一單元起存放該位域。如下 第一個unsigned short 中 沒有足夠的空間儲存system_clo
PCB中MARK點畫法與注意事項
MARK點是PCB應用於設計中的自動貼片機上的位置識別點,也被稱為基準點。直徑為1MM。鋼網Mark點是電路板貼片加工中PCB印刷錫膏/紅膠時的位置識別點。Mark點的選用直接影響鋼網的印刷效率,確保SMT裝置能精確定位PCB板元件。因此,MARK點對SMT生產至
tp5 html頁面中 if else 判斷
// 建議當 判斷條件怎麼調也調不通時, 列印一下 $data,因為它有可能是這樣的資料結構 array(5) { [0] => string(0) "" [1] => string(0) "" [2] => string(0) "" [3] =>
java中ArrayList和LinkedList使用注意事項
1. ArrayList和LinkedList的訪問方式 由於ArrayList實現了RandomAccess訪問方式所以在迴圈讀取的時候我們採用下標的方式訪問。 如果我們使用foreach方式訪問(即:偽碼) for(Object obj : ArrayList){ Sy
在CM叢集中安裝整合kafka的注意事項
今天在CM安裝的CDH的大資料管理平臺上整合kafak,遇到的一些坑,記錄下來: 我安裝的CM是5.14.0.在這個版本當中他沒有被納入到CDH的安裝平臺,所以他需要安裝啟用等操作,和我們手動整合spark2的操作是一樣的。 (1)第一步下載parcels (2) 然後在我們的叢集當
Vue中ref屬性使用的注意事項
Vue中ref屬性使用的注意事項 1.在vue中為HTML標籤設定ref屬性,主要是為了一些需要進行操作DOM才能完成的功能而設定的。 2.ref屬性相當於給標籤設定了一個ID,可以使用該特殊標識來進行一些DOM的操作,但是使用的時候有如下幾個注意事項: ref屬性值繫結