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...

你可能感兴趣的:(mybatis-plus)