小瘋在使用mybatis時,遇到了一個問題就是,使用char類型字段做爲查詢條件時一直都查不出數據,其餘類型的則能夠。java
使用的數據庫是oracle,查詢條件字段類型是char(50),java代碼對應的是String類型。數據庫
後來通過排查,是因爲在oracle中,char類型字段,若是內容長度不夠,會自動以空格方式補足長度。如字段 name char(5),若值爲sgl,那麼oracle會自動用空格補足長度,最終值爲sgl。mybatis
1、解決方法:oracle
方法1:先用trim()函數把值去掉兩邊空格再做爲條件查詢函數
方法2:將字段類型char()改成varchar2()類型。通常狀況下,只有全部值長度都同樣時才用char()類型,好比性別字段,用0表示男和1表示女時,就能夠用char(1),若是值的長度不固定,有長有短,最好別用char()類型。spa
小瘋是由於工做上的緣由使用了方法一方法