mybatis中动态sql中使用
取决于数据库中该字段的约束
1、 如果为NOT NULL,那么mapper.xml中必须要验证<if test=" 字段名!=null "></if>;
2、 如果为非空字符串,则mapper.xml中必须要验证<if test=" 字段名!=‘ ’ "></if>。
具体写法
1.参数为String,if test读取该参数代码:
<select id="getMaxDepartId" parameterType="java.lang.String" resultType="java.lang.String">
SELECT MAX(DEPART_ID) FROM T_P_DEPART
<where>
<if test="_parameter!=null and _parameter!=''">
AND DEPART_PID = #{departId,jdbcType=VARCHAR}
</if>
<if test="_parameter==null or _parameter==''">
AND DEPART_PID IS NULL
</if>
</where>
</select>
2.参数为pojo , if test读取该参数代码:
<if test="queryParam.orderSn!=null and queryParam.orderSn!=''">
AND order_sn = #{queryParam.orderSn}
</if>