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…