在使用mybatis寫SQL語句時,經常遇到要以條件參數的值來查詢不同的字段,這里做一個小結:
<where>
<!-- 判斷條件參數是否為空 -->
<if test="orgId != null and orgId != ''">
and user.org_id = #{orgId}
</if>
<!-- 判斷條件參數是否為某值 -->
<if test="searchCon == 'cn'">
and opxuser.name like CONCAT(#{searchCon},'%')
</if>
</where>
這里使用 <where> 標簽可以避免第一個查詢條件為空SQL出錯的情況,
比在where后面添加1=1的寫法更加優雅。