乐趣区

关于mybatis-plus:mybatisplus使用selectOne方法查询多条记录报错的解决方案

mybatis-plus 在应用 selectOne 办法查问记录查到多条时会抛出异样,但有些业务场景须要只取一条的状况,查出来数组再取第一个的计划显得也不不便,能够用如下 aop 的办法解决:

@Aspect
@Component
public class MybatisAspectj {

    // 配置织入点
    @Pointcut("execution(public * com.baomidou.mybatisplus.core.mapper.BaseMapper.selectOne(..))")
    public void selectOneAspect() {}

    @Before("selectOneAspect()")
    public void beforeSelect(JoinPoint point) {Object arg = point.getArgs()[0];
        if (arg instanceof AbstractWrapper) {arg = (AbstractWrapper) arg;
            ((AbstractWrapper) arg).last("limit 1");
        }
    }
}

首先创立本人的 mapper 继承 BaseMapper(惯例操作),之后创立这个 aop 配置类,对 selectOne 办法进行解决。
以上内容转载自:
https://blog.csdn.net/qq_4371…

退出移动版