今天發現一個很是奇怪的現象,一樣的SQL語句,在PL/SQL中能查詢到結果,放到MyBatis下怎麼也查不出東西。後來仔細研究,發現以下問題:數據庫
一、若是數據庫中定義的字段爲CHAR(20),而傳入的參數只有18位,在PL/SQL中會該工具應該會自動的去除空格或者添加空格以便進行匹配;工具
二、可是在MyBatis中,沒有這樣的功能,使用=#{paramName}根本查詢不到結果。spa
三、因此解決方式是:使用like '${paramName}%'來處理或者把對應的數據字段更改成VARCHAR2類型。數據