mybatis将传入0识别成空字符串

时间:2023-03-09 13:08:22
mybatis将传入0识别成空字符串

mybatis将传入的Integer类型的0被识别成空字符串,网上的解决办法:

<if test="status != null and status != '' or status == 0">
  and status = #{status, jdbcType = INTEGER}
</if>

然而还是有无效的时候。既然status==''时无效,就将其置为null。此时就在Java中对该参数进行处理,当 status == '' 时将其赋值为 null。

    @PostMapping(value = "/listUser")
public Object listUser(@RequestBody Map<String, Object> params) {
try { if(("").equals(params.get("status"))) {
params.put("status", null);
}
List<SysUser> listUser = userService.listUser(params);
return listUser;
} catch (Exception e) {
logger.error("获取用户信息异常=====>" + e.getMessage()); }
}

或许还有其它的办法,多多尝试。