在 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 查詢條件。