当前位置: 首页 > news >正文

MyBatisPlus不等于如何使用

在 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 查询条件。

http://www.dtcms.com/a/102281.html

相关文章:

  • qml 中的anchors
  • dfs复习
  • 内核自旋锁
  • 从0到1:Rust 如何用 FFmpeg 和 OpenGL 打造硬核视频特效
  • 如何使用分块策略生成高覆盖率测试用例:需求文档与接口文档的最佳实践
  • 力扣125.验证回文串
  • 标题:Linux系统文件句柄优化全攻略:彻底解决“Too Many Open Files”错误
  • 【算法竞赛】动态规划+记忆化搜索(作物杂交问题)
  • 31天Python入门——第18天:面向对象三大特性·封装继承多态
  • nacos 2.x使用java语言实现自定义Loadbalance
  • 了解可观察性指标:类型、黄金信号和最佳实践
  • SpringBoot框架—classpath、Bean、容器的概念
  • 【Text2reward】code_generation/single_flow/results/gpt-4-0331/maniskill-zeroshot
  • 私有知识库 Coco AI 实战(一):Linux 平台部署
  • LabVIEW 开发中 TCP 与 UDP 协议的差异
  • 《晶振:时空节拍的契约者》
  • 业级无线监控技术解决方案:巨控GRM240 4G PLC无线通讯模块
  • 【MVC简介-产生原因、演变历史、核心思想、使用场景】
  • 有哪些开源的视频生成模型
  • [Windows] Escrcpy-1.29.2
  • 【测试】每日3道面试题 3/31
  • demo.launch(inbrowser=True, share=True)无法生成共享网址
  • 【力扣hot100题】(028)删除链表的倒数第N个节点
  • [C++] : C++11 右值引用的理解
  • Vue 2 和 Vue 3 有什么区别
  • 算法 | 2024最新算法:斑翠鸟优化算法原理,公式,应用,算法改进研究综述,matlab代码
  • 中山大学:从技术突破到场景落地 探索大模型发展与DeepSeek的创新应用|附下载方法
  • 深入理解指针5
  • 中医视角下的养生城市选择与候鸟式迁徙指南
  • 您需要了解的有关 Go、Rust 和 Zig 的信息