MybatisPlus取一条记录踩坑

近期项目中页面展示出现问题,数据库为空的字段在页面显示却有值。

经过排查后发现问题出现在mybatisPlus的selectOne上。

项目使用的mybatisPlus的版本是2.2.0,查看了selectOne的底层代码,如下:

public T selectOne(Wrapper<T> wrapper) {
        return SqlHelper.getObject(this.baseMapper.selectList(wrapper));
    }

也就是selectOne实际上用的也是selectList来进行查询的,按照平常自己写的selectOne的的逻辑,按照条件查询查不到就返回null或者查到多个就抛出异常。

但是使用mybatisPlus直接默认返回了list的第一个。需要因此需要代码逻辑,如果返回多个就直接返回null,不然则直接返回list的第一个


版权声明:本文为weixin_42085125原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。