当前使用版本(必填,否则不予处理)
3.3.1
该问题是如何引起的?(确定最新版也有问题再提!!!)
getOne方法没有默认添加limit 1,查了很多地方 最后方案是 加.last("limit 1") 但是很多地方都会有这种查询每个地方都要单独写个 .last 感觉好麻烦. 官方能提供一个单独的方法区别于getOne嘛?
Comment From: miemieYaho
不能
Comment From: liuzhiguo630
我们也遇到同样的问题,一旦少了某个参数的检查,就容易把 null 放进去,结果整条 SQL 变成了没有任何条件的。上次直接查出来几千万条把机器打挂了。用的也是 getOne。
只能说如果手写 SQL 是不可能出现这种问题的。mybatis-plus 一点没有为真实用户服务的意思。
Comment From: ouyangCL
/*
* 根据 Wrapper,查询一条记录 结果集,如果是多个会抛出异常,随机取一条加上限制条件 wrapper.last("LIMIT 1")
*
/**
* 根据 Wrapper,查询一条记录
*
* @param queryWrapper 实体对象封装操作类 {@link com.baomidou.mybatisplus.core.conditions.query.QueryWrapper}
* @param throwEx 有多个 result 是否抛出异常
*/
T getOne(Wrapper<T> queryWrapper, boolean throwEx);