mybatis的selectOne分享

平时我们使用mybatis查询一条数据时,有时会使用selectOne,但是selectOne有个小问题是可能会导致报错。经测试如下:

测试版本:mybatis-spring:2.0.0。mapper的selectOne不会帮我们limit 1,如果记录不止1条就会报错。service的getOne调的也是mapper的selectOne,也是一样。如果我们不是用id查询,又不能确保查询用的条件上,数据一定唯一,除非条件上有唯一索引,建议不要selectOne,用list接口,或者自己写sql limit 1。

或者在selectOne后.last("limit 1")也可以:this.baseMapper.selectOne(new QueryWrapper<UcAssessScoreStat>().eq("id", id).eq("is_deleted", 0).orderByDesc("create_at").last("limit 1"));

service的getOne,默认调的mapper的selectOne:

但如果加了个参数,就不是调mappper的selectOne了:

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值