<if test="advertisement.adValid !=null and advertisement.adValid !=''">
and n.ad_valid = #{advertisement.adValid}
</if>
//两者的区别
<if test="advertisement.adValid !=null">
and n.ad_valid = #{advertisement.adValid}
</if>
sql中and advertisement.adValid !=''会把原本int型数据转换为string型导致查不到数据
int型数据用
<if test="advertisement.adValid !=null">
and n.ad_valid = #{advertisement.adValid}
</if>
Sting型数据用
<if test="advertisement.adValid !=null and advertisement.adValid !=''">
and n.ad_valid = #{advertisement.adValid}
</if>