mybatis编写sql条件值为0时无效
今天做项目发现当传回sql条件为0时,后台判断无效
<el-form-item prop="state">
<el-select v-model="filters.state" placeholder="客户状态" value="">
<el-option
v-for="item in states"
:key="item.id"
:label="item.name"
:value="item.id">
</el-option>
</el-select>
</el-form-item>
模拟数据
states:[{
id:,
name:
},{
id: 0,
name: 正式客户
}, {
id: 1,
name: 潜在客户
}, {
id: 2,
name: 资源客户
}],
后台sql
<if test="state != null and state != ">
and c.customerstate=#{state}
</if>
上面的条件判断了空与空串,在mybatis中传入值为int时,判断空串时会将0值转换成空串导致条件失效; 只需去掉空串判断
<if test="state != null">
and c.customerstate=#{state}
</if>
