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
判斷失效,原因還沒找到。暫時代碼中判斷
如果傳入 “” ,則可以通過判斷

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