在查詢資料時候,查詢欄位為string,如果資料庫表字段設計為char,則需求定長查詢,一種修改表字段,乙個就是trim欄位,再進行查詢。
如下解釋:
如果oracle中的表字段name,型別為char(2), 如果表中的記錄name='1',那麼pl/sql查詢where條件中name='1', 或者name='1 ', 1後面有任意個空格,pl/sql預設都先去除空格做比較,但是jdbc和ibatis中會以定長度比較,也就是 如果name='1',但是name是兩個字元固定長度的,這時查詢記錄會為空, 查詢時必須對name欄位先去除空格,用 trim(name)='1'比較就能正常。
iBatis中使用動態查詢
prepend and open close isnotnullproperty ki.userid prepend and removefirstprepend false user id ki.userid isnotnullproperty kfi.initiator prepend and ...
ibatis中使用like模糊查詢
無效的方法 select from table1 where name like name 兩種有效的方法 1 使用 代替 此種方法就是去掉了型別檢查,使用字串連線,不過可能會有sql注入風險。select from table1 where name like name 2 使用連線符。不過不同的...
ibatis中使用like模糊查詢
無效的方法 select from table1 where name like name 兩種有效的方法 1 使用 代替 此種方法就是去掉了型別檢查,使用字串連線,不過可能會有sql注入風險。select from table1 where name like name 2 使用連線符。不過不同的...