谨慎使用Mybatis-Plus中XXXMapper.selectOne

Mybatis-Plus中谨慎使用XXXMapper.selectOne

原因:
使用selectOne需要非常确定,返回的数据集只有一条或者为空,当不为空时会报下面异常
 com.baomidou.mybatisplus.core.exceptions.MybatisPlusException: One record is expected, but the query result is multiple records
     at com.baomidou.mybatisplus.core.toolkit.ExceptionUtils.mpe(ExceptionUtils.java:49)
     at com.baomidou.mybatisplus.core.mapper.BaseMapper.selectOne(BaseMapper.java:176)
     at java.lang.invoke.MethodHandle.invokeWithArguments(Unknown Source)
返回上面异常说明,返回的数据集不止一条,是多条。当你使用selectOne时可能当时确认会返回一条数据或者为空,但是当之后随着业务变化,你可以一直确定返回的会有一条数据吗,当数据中有脏数据呢。
建议:
使用 selectList(),通过selectList()返回的数据get(0),就能取首条,而且这种方式可以做一个空判断,提前判断selectList()是不是空,如果是空的话就不在get(0),也就避免的系统的异常产生。

大家好,我是时生,站在巨人的肩膀做出一点点改变。欢迎批评,欢迎指正,欢迎共享,有事私信。 如果这篇文章对你有帮助,麻烦点个赞呗!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值