1
我正在嘗試myBatis最近,我一直在形成動態sqls時遇到問題。動態SQL使用mybatis不提取郵件編號
當使用myBatis形成如下所示的動態sql時,除了在電子郵件字段中發送值時,它適用於所有字段。
當emailId通過時沒有數據被抓取。 我懷疑emailId列中的@符號是否有問題?
<select id = "getAllWithFilter" parameterType="java.util.Map" resultMap="result">
SELECT * FROM EMPLOYEE_LOOKUP
<where>
<if test = "firstName != null">
FIRST_NAME LIKE #{firstName}
</if>
<if test = "phoneNo != null">
AND PHONE LIKE #{phoneNo}
</if>
<if test = "emailId != null">
AND EMAIL LIKE #{emailId}
</if>
<if test = "analystGroup != null">
AND GROUP LIKE #{empGroup}
</if>
<choose>
<when test = "activeFlag != null">
AND EXPIRATION_DATE IS NULL
</when>
<when test = "inactiveFlag != null">
AND EXPIRATION_DATE IS NOT NULL
</when>
</choose>
</where>
</select>
這是MyBatis中調試日誌 - Log4J的。
DEBUG [http-bio-9081-exec-1] - ==> Preparing: SELECT * FROM EMPLOYEE_LOOKUP WHERE EMAIL LIKE ? AND GROUP LIKE ? AND EXPIRATION_DATE IS NULL
DEBUG [http-bio-9081-exec-1] - ==> Parameters: abc(String), F(String)
數據庫,包含以下值
EMAIL | GROUP
----------------------
[email protected] | F
我的壞..謝謝很多...當LIKE在mybatis中使用,我相信%是固有的:) – GnZ