Mybatis-plus条件构造器Wrapper/QueryWrapper/LambdaQueryWrapper/LambdaQueryChainWrapper关系梳理和用法

Mybatis-plus条件构造器Wrapper/QueryWrapper/LambdaQueryWrapper/LambdaQueryChainWrapper关系梳理和用法

各个类UML关系图如下,都是继承自Wrapper

Mybatis-plus条件构造器Wrapper/QueryWrapper/LambdaQueryWrapper/LambdaQueryChainWrapper关系梳理和用法_第1张图片

各个构造器使用区别

  1. QueryWrapperQueryChainWrapper只能都只能指定需要的数据库列名
  2. LambdaQueryWrapperLambdaQueryChainWrapper可以通过获取Lambda数据库列名
  3. QueryWrapperLambdaQueryWrapper不能使用链式查询的方式,必须借助BaseMapper来执行
  4. QueryChainWrapperLambdaQueryChainWrapper可以使用链式查询的方式,如list(),one()

使用案例

QueryWrapper

queryWrapper.like("email", "[email protected]"); //email对应数据库中列名
List<User> list = userMapper.selectList(queryWrapper);

LambdaQueryWrapper

lambdaQueryWrapper.eq(User::getName,"cat"); //可以通过Lambda获取数据库列名
List<User> list = userMapper.selectList(lambdaQueryWrapper);

QueryChainWrapper

//链式查询方式
List<User> list = new QueryChainWrapper<>(userMapper)
                 .like("name", "cat")
                 .list();

LambdaQueryChainWrapper

//链式查询方式
User one = new LambdaQueryChainWrapper<>(userMapper)
                 .eq(User::getName, "cat")
                 .one();

常用方法

条件构造器常用方法参考官方文档

你可能感兴趣的:(java,数据库原理,mybatis,java,开发语言)