news 2026/5/5 20:11:09

条件构造器

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
条件构造器

参考视频:MyBatisPlus教程,一套玩转mybatisplus框架,mybatis-plus轻松上手 点击观看

文章目录

  • QueryWrapper
    • 1 组装查询条件
    • 2 组装排序条件
    • 3 组装删除条件
    • 4 组装修改条件
    • 5 条件的优先级
    • 6 组装select子句
    • 7 组装子查询
  • UpdateWrapper

QueryWrapper

1 组装查询条件

@Testpublicvoidtest01(){QueryWrapper<User>queryWrapper=newQueryWrapper<>();queryWrapper.like("name","a").between("age",20,30).isNotNull("email");List<User>list=userMapper.selectList(queryWrapper);list.forEach(System.out::println);}

2 组装排序条件

@Testpublicvoidtest02(){QueryWrapper<User>queryWrapper=newQueryWrapper<>();queryWrapper.orderByDesc("age").orderByAsc("id");List<User>list=userMapper.selectList(queryWrapper);list.forEach(System.out::println);}

3 组装删除条件

@Testpublicvoidtest03(){QueryWrapper<User>queryWrapper=newQueryWrapper<>();queryWrapper.isNull("email");intres=userMapper.delete(queryWrapper);System.out.println(res);}

4 组装修改条件

@Testpublicvoidtest04(){QueryWrapper<User>queryWrapper=newQueryWrapper<>();queryWrapper.gt("age",20).like("name","a").or().isNull("email");Useruser=newUser();user.setName("福新");user.setEmail("fx@xidian.com");intres=userMapper.update(user,queryWrapper);System.out.println(res);}

5 条件的优先级

lambda中的条件优先执行

@Testpublicvoidtest05(){QueryWrapper<User>queryWrapper=newQueryWrapper<>();queryWrapper.like("name","a").and(i->i.gt("age",19).or().isNull("email"));Useruser=newUser();user.setName("忠兴");user.setEmail("zx@xidian.com");intres=userMapper.update(user,queryWrapper);System.out.println(res);}

6 组装select子句

设置当前要查询的字段

@Testpublicvoidtest06(){QueryWrapper<User>queryWrapper=newQueryWrapper<>();queryWrapper.select("name","age","email");List<Map<String,Object>>maps=userMapper.selectMaps(queryWrapper);maps.forEach(System.out::println);}

7 组装子查询

@Testpublicvoidtest07(){QueryWrapper<User>queryWrapper=newQueryWrapper<>();queryWrapper.inSql("id","select id from user where id <= 100");List<User>list=userMapper.selectList(queryWrapper);list.forEach(System.out::println);}

UpdateWrapper

@Testpublicvoidtest08(){UpdateWrapper<User>updateWrapper=newUpdateWrapper<>();updateWrapper.like("name","a").and(i->i.gt("age",19).or().isNull("email"));updateWrapper.set("name","小黑").set("email","abc@xidian.com");intupdate=userMapper.update(null,updateWrapper);System.out.println(update);}
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/5 20:09:35

Multisim教育版元件库保姆级使用指南:从虚拟器件到真实元件的快速上手

Multisim教育版元件库深度实战指南&#xff1a;从理论到三维仿真的高效探索 第一次打开Multisim教育版时&#xff0c;面对左侧密密麻麻的元件分类图标&#xff0c;我的鼠标指针在空中犹豫了至少三分钟——就像站在自助餐厅琳琅满目的取餐台前&#xff0c;明明饿得发慌却不知从哪…

作者头像 李华
网站建设 2026/5/5 20:07:27

Embedding 模型选型与向量化实战:从 BERT 到多模态

系列导读 你现在看到的是《RAG 检索增强生成系统设计:从原理到生产级部署的完整实践》的第 3/10 篇,当前这篇会重点解决:帮助读者在众多 Embedding 模型中做出理性选择,并掌握高效向量化的工程技巧。 上一篇回顾:第 2 篇《文档切分的艺术:Chunk 策略对检索质量的决定性…

作者头像 李华
网站建设 2026/5/5 19:57:55

题解:学而思编程 公平分配

本文分享的必刷题目是从蓝桥云课、洛谷、AcWing等知名刷题平台精心挑选而来&#xff0c;并结合各平台提供的算法标签和难度等级进行了系统分类。题目涵盖了从基础到进阶的多种算法和数据结构&#xff0c;旨在为不同阶段的编程学习者提供一条清晰、平稳的学习提升路径。 欢迎大…

作者头像 李华