在 MyBatis Plus 中,ne 方法用于构建不等于条件的 SQL 查询。以下是 ne 方法的详细用法:
基本用法
ne 方法可以用于 QueryWrapper 或 LambdaQueryWrapper 中,用于指定某个字段的值不等于指定的值。它对应于 SQL 中的 != 或 <> 操作符。
示例代码
// 查询用户名不等于 '张三' 的用户
QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.ne("username", "张三");
List<User> users = userMapper.selectList(queryWrapper); // 执行查询
与其他条件结合
ne 方法可以与其他条件结合使用,以构建更复杂的查询条件。
// 查询用户名不等于 '张三' 且年龄大于 20 的用户
QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.ne("username", "张三").gt("age", 20);
List<User> users = userMapper.selectList(queryWrapper);
在 LambdaQueryWrapper 中使用
ne 方法也可以在 LambdaQueryWrapper 中使用,以实现类型安全的查询。
// 使用 LambdaQueryWrapper 进行类型安全的查询
LambdaQueryWrapper<User> lambdaQuery = Wrappers.lambdaQuery();
lambdaQuery.ne(User::getUsername, "张三");
List<User> users = userMapper.selectList(lambdaQuery);
在 UPDATE 操作中使用
ne 方法可以用于更新操作,指定更新条件。
// 更新用户名不为 '张三' 的用户的状态为 'active'
UpdateWrapper<User> updateWrapper = new UpdateWrapper<>();
updateWrapper.ne("username", "张三").set("status", "active");
int result = userMapper.update(null, updateWrapper); // 返回受影响的行数
在 DELETE 操作中使用
ne 方法可以用于删除操作,指定删除条件。
// 删除用户名不为 '张三' 的用户
QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.ne("username", "张三");
int result = userMapper.delete(queryWrapper); // 返回受影响的行数
与 LIKE 结合使用
ne 方法可以与其他查询条件结合使用,如 like。
// 查询用户名不等于 '张三' 并且邮箱包含 'gmail' 的用户
QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.ne("username", "张三").like("email", "gmail");
List<User> users = userMapper.selectList(queryWrapper);
与 IN 结合使用
ne 方法可以与 notIn 结合使用,以查询不在指定列表中的记录。
// 查询用户名不在指定列表中的用户
QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.ne("username", "张三").notIn("username", Arrays.asList("李四", "王五"));
List<User> users = userMapper.selectList(queryWrapper);
通过这些示例,可以看出 ne 方法在 MyBatis Plus 中非常灵活,可以用于各种查询场景,帮助开发者构建复杂的 SQL 查询条件。