条件构造器
前言:当我们使用MybatisPlus进行数据库操作,条件构造器无可厚非会使用到!
介绍
Wrapper:条件构造抽象类,是最顶端父类;
AbstractWrapper:用于查询条件封装,生成sql的where条件;
AbstractLambdaWrapper:Lambda语法使用Wrapper统一处理解析lambda获取column。
LambdaQueryWrapper:用于lambda语法使用的查询Wrapper;
LambdaUpdateWrapper:Lambda更新封装Wrapper;
QueryWrapper:Entity对象封装操作类,不是用lambda;
UpdateWrapper:Update条件封装,用于Entity对象更新操作。
一、QueryWrapper
1.1 写法
QueryWrapper<Users> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("username",name);
List<User> user = userMapper.selectList(lambdaQueryWrapper)
1.2 方法解释
queryWrapper.lt(); // 小于
queryWrapper.le(); // 小于等于
queryWrapper.gt(); // 大于
queryWrapper.ge(); // 大于等于
queryWrapper.eq(); // 等于
queryWrapper.ne(); // 不等于
queryWrapper.betweeen("age”,10,20); // age在值10到20之间
queryWrapper.notBetweeen("age”,10,20); // age不在值10到20之间
queryWrapper.like("属性","值"); // 模糊查询匹配值
queryWrapper.notLike("属性","值"); // 模糊查询不匹配值
queryWrapper.likeLeft("属性","值"); // 模糊查询匹配最后一位值
queryWrapper.likeRight("属性","值"); // 模糊查询匹配第一位值‘值%’
queryWrapper.isNull(); // 值为空或null
queryWrapper.isNotNull(); // 值不为空或null
queryWrapper.in("属性",条件,条件); // 符合多个条件的值
queryWrapper.notIn("属性",条件,条件); // 不符合多个条件的值
queryWrapper.or(); // 或者
queryWrapper.and(); // 和
queryWrapper.orderByAsc(“属性”); // 根据属性升序排序
queryWrapper.orderByDesc(“属性”); // 根据属性降序排序
queryWrapper.inSql(“sql语句”); // 符合sql语句的值
queryWrapper.notSql(“sql语句”); // 不符合SQL语句的值
queryWrapper.esists(“SQL语句”); // 查询符合SQL语句的值
queryWrapper.notEsists(“SQL语句”); // 查询不符合SQL语句的值
queryWrapper.select("字段1","字段2","字段3"); // 设置查询字段
二、LambdaQueryWrapper
2.1 写法
LambdaQueryWrapper<User> lambdaQueryWrapper = new LambdaQueryWrapper<>();
lambdaQueryWrapper.eq(User::getUsername,name);
List<User> user = userMapper.selectList(lambdaQueryWrapper)
2.2 方法解释
wrapper.eq("实体类::查询字段", "条件值");
wrapper.between("实体类::查询字段", "区间一", "区间二");
wrapper.like("实体类::查询字段", "模糊查询的字符");
wrapper.groupBy("实体类::查询字段");
wrapper.in("实体类::查询字段", "包括的值,分割");
wrapper.orderByAsc("实体类::查询字段"); //升序
wrapper.orderByDesc("实体类::查询字段"); //降序
wrapper.ge("实体类::查询字段", "要比较的值"); //大于等于
wrapper.le("实体类::查询字段", "要比较的值"); //小于等于
三、Wrappers
3.1 写法
Wrappers.<User>lambdaQuery().eq(User::getUsername,name);
3.2 方法解释
看上面的