QueryWrapper
最基础的使用方式:
// 查询条件构造器
QueryWrapper<User > wrapper = new QueryWrapper<>();
wrapper.eq("user_name",userName);
// 查询操作
List<User > users = userMapper.selectList(wrapper);
引入lambda,可以避免在代码中写类似的于user_name的硬编码:
QueryWrapper<User> wrapper = new QueryWrapper<>();
wrapper.lambda().eq(User::getuserName, userName);
List<User> users= userMapper.selectList(wrapper);
LambdaQueryWrapper
为了简化lambda的使用,我们可以改写成LambdaQueryWrapper构造器,语法如下:
LambdaQueryWrapper<User> wrapper = new QueryWrapper<User>().lambda();
wrapper.eq(User::getuserName, userName);
List<User> users= userMapper.selectList(wrapper);
再次将QueryWrapper.lambda()简化:
LambdaQueryWrapper<User> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(User::getuserName, userName);
List<User> bannerItems = userMapper.selectList(wrapper);
链式查询
MyBatis-Plus还提供了一种链式查询的方式,和上面的代码效果一样:
List<User> userList= new LambdaQueryChainWrapper<userMapper>()
.eq(User::getuserName, userName)
.list();
LambdaQueryWrapper 条件删除
LambdaQueryWrapper<USer> chainWrapper = new LambdaQueryWrapper<>();
chainWrapper .eq(User::getDepartmentId, departmentId);
userMapper.delete(chainWrapper );