mybatis动态sql在and条件中嵌套or条件的写法。

来源:互联网 发布:北外网络教育登录 编辑:程序博客网 时间:2024/05/16 02:05

sql如下:

select * FROM T_CORRECT_END t 
INNER JOIN GET_CHILD_DEPT(579) a 
on t.DEPT_PK=a.PK_ID
WHERE t.DR = 0 AND a.DR = 0 AND t.VSTATUS >= 1  
and (t.XM like '%张%' or t.ZJHM = '张' or
t.MOBILE_PHONE = '张' )
order by a.PK_ID asc
;


mapper.xml配置文件如下:

<select id="CorrectEnd_ListVO" resultMap="CorrectionEndVOMap"
parameterType="java.util.Map">
select
*

FROM T_CORRECT_END t
INNER JOIN GET_CHILD_DEPT(#{deptPk}) a
on t.DEPT_PK=a.PK_ID


<where>
<trim prefixOverrides="and">
t.DR=0 and a.DR=0 and t.VSTATUS>=1
<!-- 查询全部 -->
<if test="searchText != null and searchText != ''">
and (t.XM like '%${searchText}%' or t.ZJHM = #{searchText} or
t.MOBILE_PHONE = #{searchText})
</if>
<if test="xm != null and xm != ''">and t.XM like '%${xm}%'</if>
<!-- 证件号码: -->
<if test="zjhm != null and zjhm != ''">and t.ZJHM = #{zjhm} </if>
<!-- 手机号码: -->
<if test="mobilePhone != null and mobilePhone != ''">and t.MOBILE_PHONE = #{mobilePhone} </if>
</trim>
</where>
order by a.pk_id asc
</select>

0 0
原创粉丝点击