LambdaQueryChainWrapper 和 LambdaQueryWrapperr的使用

阅读 7

2024-07-26

LambdaQueryChainWrapper对象后面可以直接跟方法名:

Activity one = new LambdaQueryChainWrapper<>(activityMapper)
                .eq(Activity::getId, activityId)
                .select(Activity::getTitle)
                .one();

上面直接调用了one()查询方法,其他list()、count()等方法也是可以的,等价于:

Activity one = activityMapper.selectOne(new LambdaQueryWrapper<Activity>()
            .eq(Activity::getId, activityId)
            .select(Activity::getTitle)
    );

再看mybatisPlus的代码:

default T one() {
    return this.execute((mapper) -> {
        return mapper.selectOne(this.getWrapper());
    });
}

也就是说通过LambdaQueryChainWrapper对象调用one()方法,其实内层其实执行了mapper.selectOne(Wrapper<T> wrapper)方法,使用LambdaQueryWrapper代码会更直接一些。

精彩评论(0)

0 0 举报