mybatis 遇到空串無法判斷


sql 語句中對傳入的關鍵字進行判斷,如果是空或者空串則不進入條件

   <if test="query.keyword !=null and query.keyword != ''">
             and   (t.id like concat('%',#{query.keyword},'%')
             or
             t.trading_account_id like concat('%',#{query.keyword},'%')
             or
             u.fx_code like concat('%',#{query.keyword},'%')
             or
             a.account_name like concat('%',#{query.keyword},'%')
                )
   </if>

而實際上,當傳入

 數據庫執行情況

==>  Preparing: SELECT count(0) FROM t_trading_announcement t LEFT JOIN t_trading_account a ON a.id = t.trading_account_id LEFT JOIN t_user u ON u.id = a.user_id 
    WHERE 1 = 1 AND (t.id LIKE concat('%', ?, '%') OR t.trading_account_id LIKE concat('%', ?, '%') OR u.fx_code LIKE concat('%', ?, '%') OR a.account_name LIKE concat('%', ?, '%')) ==> Parameters: ''(String), ''(String), ''(String), ''(String) <== Columns: count(0) <== Row: 0 <== Total: 1

判斷失效,原因還沒找到。暫時代碼中判斷

如果傳入 “” ,則可以通過判斷

如果傳入的是 ‘’ ,則接收的參數實際上是 “‘’”


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM