条件构造器Wrapper可以用于复杂的数据库操作:大于、小于、模糊查询等等。
查询name不为空的用户,并且邮箱不会空的用户,年龄大于等于12
QueryWrapper<User> wrapper = new QueryWrapper<>();
wrapper.isNotNull("name")
.isNotNull("email")
.ge("age",12)
userMapper.selectList(wrapper);
查询name为“admin”
QueryWrapper<User> wrapper = new QueryWrapper<>();
wrapper.eq("name","admin")
userMapper.selectOne(wrapper); // 查询一个数据。查询多个使用List或者Map
查询年龄在20-30岁之间的用户个数
QueryWrapper<User> wrapper = new QueryWrapper<>();
wrapper.between("age",20,30)
userMapper.selectCount(wrapper); // 查询结果数
模糊查询,名字中不包含e但包含a的用户
左likeLeft和右likeRight:%的位置
QueryWrapper<User> wrapper = new QueryWrapper<>();
wrapper.notLike("name","e") // 不包含e
.like("name","a") // 包含a
userMapper.selectMaps(wrapper);
In查询
QueryWrapper<User> wrapper = new QueryWrapper<>();
// id在子查询中查出来
wrapper.inSql("id","select id from user where id < 3");
userMapper.selectObjs(wrapper);
通过id降序排序
QueryWrapper<User> wrapper = new QueryWrapper<>();
wrapper.orderByDesc("id")
userMapper.selectList(wrapper);