QueryWrapper条件构造器查询数据
语法:
- 根据对象不为null的属性进行业务操作
- QueryWrapper条件构造器 动态拼接where条件
- 默认的关系连接符 and
User user = new User();
user.setName("大乔").setSex("女");
QueryWrapper<User> queryWrapper = new QueryWrapper<>(user);
List<User> list = userMapper.selectList(queryWrapper);
like关键字查询数据
like查询数据时会存在包含,以开头,以结尾的情况,mybatis-plus分别提供了不同的方法
- 包含XX的数据
queryWrapper.like("name","君") //"%君%"
- 以XX结尾的数据
queryWrapper.likeLeft("name","君") //"%君"
- 以XX开头的数据
queryWrapper.likeRight("name", "君");//君%
in 关键字查询数据
查询在XX范围数据范围内的数据select语句需要用到"in"关键字
queryWrapper.in("id",ids)
就使用以上方式
查询第一列字段
用法: selectObjs(queryWrapper);
实际用途: 做关联查询时可以使用
QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("sex","女");
List list = userMapper.selectObjs(queryWrapper);
动态SQL的实现
在where条件为null时,需要使用动态SQL实现
使用spring提供的API StringUtils.hasLength(xxx)
参数说明:
boolean condition, true时,当前的条件才会成立
false 该条件不拼接.
R column 字段信息
Object val 值
判断字符串API:
Spring提供的API StringUtils.hasLength(sex);
案例: