MyBatis-Plus中getOne方法或selectOne方法是否会抛异常
结论:
如果你调用的是无参的 getOne 方法(即没有显式传递 throwEx 参数),默认情况下:
- MyBatis-Plus 2.x 版本 :
throwEx默认为false,即当查询到多条记录时不会抛出异常,而是返回第一条记录。 - MyBatis-Plus 3.x 版本 :
throwEx默认为true,即当查询到多条记录时会抛出异常。
源码:
getOne方法是否会抛异常,取决于你使用的MyBatis-Plus版本以及是否显式设置了throwEx参数。也可以显示设置
throwEx = true
User user = userMapper.getOne(new QueryWrapper<User>().eq("id", 1), true);



结语:
根据业务需求选择合适的 throwEx 值,并确保查询条件足够严格,以避免意外情况的发生。

浙公网安备 33010602011771号