当前使用版本(必填,否则不予处理)
2.1.3
该问题是如何引起的?(确定最新版也有问题再提!!!)
做selectOne指定了列,但是列名和字段名不一致,查询结果字段为null 可是selectById就会返回字段列名不一致的值
重现步骤(如果有就写完整)
String FIELD_FORBID_SQL_COLUMN = "status";
QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.select(User.FIELD_USER_ID_SQL_COLUMN, User.FIELD_FORBID_SQL_COLUMN, User.FIELD_VIP_LEVEL_SQL_COLUMN);
queryWrapper.eq(User.FIELD_USER_ID_SQL_COLUMN, dto.getId());
User user = userMapper.selectOne(queryWrapper);
boolean isNull = null == user.getForbid(); // true
报错信息
Comment From: qmdx
打印执行 sql 如果不一样请保持一致
Comment From: ChenHao96
那是需要给查询的列加别名?
Comment From: ChenHao96
Entity 给字段添加了 @TableField
String FIELD_FORBID_SQL_COLUMN = "status";
@TableField(FIELD_FORBID_SQL_COLUMN )
private Boolean forbid;
selectById 可以查询出结果,
selectOne boolean isNull = null == user.getForbid(); // true