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

Spring Boot是什么?MybatisPlus常用注解,LambdaQueryWrapper常用方法

DAY26.1 Java核心基础

Spring Boot是什么?

Spring Java开放的标准,但是Spring配置比较繁琐,尤其在大型项目,会出现很多重复的工作,为了让Spring变得更加简高效,SpringBoot应运而生,让项目开发变得更加简洁

开发者可以通过Springboot快速搭建一个Java应用程序

Spring Boot完成的核心工作是自动装配,讲项目中运用的组件进行自动注入,开发者只需要关注业务逻辑,而不需要进行各种繁琐的配置,从而提高开发效率

Spring Boot对常用的第三方库都提供了配置的方案,可以自动整合其它第三方库,只需要导入相关依赖,不需要开发者自己配置

Spring Boot优势:

  • 不需要xml文件
  • 内嵌了web服务器(tomcat)
  • 默认支持Json格式的数据,不需要额外配置
  • 支持RestFul风格

增删改查(Get、Post、Put、Delete)

  • 只需要一个配置文件就可以配置所以的个性化信息

SpringBoot是一个用很少的配置就可以快速搭建Spring 应用的框架,并且很好的集成了常用的第三方库,让开发者可以快速进行企业级应用开发

SSM 是基于Spring 来管理SpringMVC和Mybatis

也可以基于Spring Boot来管理SpringMVC和Mybatis

自动装配:Spring Boot引入哪个框架,它就会自动装载该框架并且运行

在Spring Boot 工程中引入了Mybatis依赖,那么SpringBoot就会自动创建相关的对象datasource、SqlsessionFactory…不用自己创建了

如果去掉了该框架则会相应去除该框架相关的创建

MybatisPlus

常用注解

@TableName:可以设置表名字,如果不设置默认使用类名的小写

@Data
@TableName("user")
public class User  {@TableId(type = IdType.AUTO)private Integer id;private String name;private String pwd;private String email;private String role;private Integer age;
}

映射数据库的user表

image-20250523152606155

@TableId(value=“id”)

设置为主键,value是主键字段名,如果不填也会自动识别用字段的小写

type = IdType.AUTO:标记为主键自增

@TableField(value=“name”)

设置为普通字段,同样可以设置value,映射为数据库的字段

常用方法

以下是以表格形式对 LambdaQueryWrapper 常用查询方法的总结:

方法名示例代码作用描述适用场景示例
eqeqWrapper.eq(User::getId, 1);查询字段等于指定值的数据。精确查找某个 ID 的用户信息。
neneWrapper.ne(User::getId, 1);查询字段不等于指定值的数据。排除特定 ID 的记录。
gtgtWrapper.gt(User::getAge, 20);查询字段大于指定值的数据。获取年龄超过 20 的用户。
ltltWrapper.lt(User::getAge, 30);查询字段小于指定值的数据。查找年龄低于 30 的用户。
gegeWrapper.ge(User::getAge, 25);查询字段大于等于指定值的数据。获取年龄 ≥ 25 的用户。
leleWrapper.le(User::getAge, 25);查询字段小于等于指定值的数据。获取年龄 ≤ 25 的用户。
betweenbetweenWrapper.between(User::getAge, 20, 30);查询字段在两个值之间的数据。查找年龄在 20 到 30 之间的用户。
likelikeWrapper.like(User::getName, "张");模糊匹配字段内容(SQL LIKE)。查找名字中包含“张”的用户。
orderByDescorderByWrapper.orderByDesc(User::getAge);按照指定字段降序排列结果。按年龄从高到低排序用户。
ininWrapper.in(User::getId, 1, 2, 3);查询字段值在给定集合中的记录。获取 ID 为 1、2、3 的用户。
notInnotInWrapper.notIn(User::getId, 1, 2, 3);查询字段值不在给定集合中的记录。排除 ID 为 1、2、3 的用户。
isNullisNullWrapper.isNull(User::getEmail);查询字段为空(NULL)的记录。查找没有填写邮箱的用户。
isNotNullisNotNullWrapper.isNotNull(User::getEmail);查询字段不为空(NOT NULL)的记录。查找已填写邮箱的用户。

这些方法可以组合使用,构建更复杂的查询条件。通过 LambdaQueryWrapper,我们可以以类型安全的方式编写查询逻辑,避免 SQL 注入问题,并提高开发效率。

@Test
public void test3(){// 等于LambdaQueryWrapper<User> eqWrapper = new LambdaQueryWrapper<>();eqWrapper.eq(User::getId, 1);List<User> eqUsers = userMapper.selectList(eqWrapper);System.out.println("等于查询结果: " + eqUsers);// 不等于LambdaQueryWrapper<User> neWrapper = new LambdaQueryWrapper<>();neWrapper.ne(User::getId, 1);List<User> neUsers = userMapper.selectList(neWrapper);System.out.println("不等于查询结果: " + neUsers);// 大于LambdaQueryWrapper<User> gtWrapper = new LambdaQueryWrapper<>();gtWrapper.gt(User::getAge, 20);List<User> gtUsers = userMapper.selectList(gtWrapper);System.out.println("大于查询结果: " + gtUsers);// 小于LambdaQueryWrapper<User> ltWrapper = new LambdaQueryWrapper<>();ltWrapper.lt(User::getAge, 30);List<User> ltUsers = userMapper.selectList(ltWrapper);System.out.println("小于查询结果: " + ltUsers);// 大于等于LambdaQueryWrapper<User> geWrapper = new LambdaQueryWrapper<>();geWrapper.ge(User::getAge, 25);List<User> geUsers = userMapper.selectList(geWrapper);System.out.println("大于等于查询结果: " + geUsers);// 小于等于LambdaQueryWrapper<User> leWrapper = new LambdaQueryWrapper<>();leWrapper.le(User::getAge, 25);List<User> leUsers = userMapper.selectList(leWrapper);System.out.println("小于等于查询结果: " + leUsers);// betweenLambdaQueryWrapper<User> betweenWrapper = new LambdaQueryWrapper<>();betweenWrapper.between(User::getAge, 20, 30);List<User> betweenUsers = userMapper.selectList(betweenWrapper);System.out.println("between查询结果: " + betweenUsers);// like模糊查询LambdaQueryWrapper<User> likeWrapper = new LambdaQueryWrapper<>();likeWrapper.like(User::getName, "张");List<User> likeUsers = userMapper.selectList(likeWrapper);System.out.println("like查询结果: " + likeUsers);// orderByLambdaQueryWrapper<User> orderByWrapper = new LambdaQueryWrapper<>();orderByWrapper.orderByDesc(User::getAge);List<User> orderByUsers = userMapper.selectList(orderByWrapper);System.out.println("orderBy查询结果: " + orderByUsers);// inLambdaQueryWrapper<User> inWrapper = new LambdaQueryWrapper<>();inWrapper.in(User::getId, 1, 2, 3);List<User> inUsers = userMapper.selectList(inWrapper);System.out.println("in查询结果: " + inUsers);// not inLambdaQueryWrapper<User> notInWrapper = new LambdaQueryWrapper<>();notInWrapper.notIn(User::getId, 1, 2, 3);List<User> notInUsers = userMapper.selectList(notInWrapper);System.out.println("not in查询结果: " + notInUsers);// is nullLambdaQueryWrapper<User> isNullWrapper = new LambdaQueryWrapper<>();isNullWrapper.isNull(User::getEmail);List<User> isNullUsers = userMapper.selectList(isNullWrapper);System.out.println("is null查询结果: " + isNullUsers);// is not nullLambdaQueryWrapper<User> isNotNullWrapper = new LambdaQueryWrapper<>();isNotNullWrapper.isNotNull(User::getEmail);List<User> isNotNullUsers = userMapper.selectList(isNotNullWrapper);System.out.println("is not null查询结果: " + isNotNullUsers);
}

相关文章:

  • OpenHarmony 4.1版本应用升级到5.0版本问题记录及解决方案
  • vue开发中常用方法笔记
  • 在公司快速查看与固定内网IP地址的完整指南
  • 全链路解析:影刀RPA+Coze API自动化工作流实战指南
  • 2025电工杯A题数据-光伏电站发电功率预测数据 收集策略
  • Docker 与 Kubernetes 部署 RabbitMQ 集群(二)
  • docker初学
  • w~大模型~合集4
  • 【Linux系列】EVS 与 VBD 的对比
  • nvidia Thor U与qualcomm 8295 DMPIS算力测试对比
  • 用matlab提取abaqus odb文件中的节点信息
  • 谢飞机的Spring WebFlux面试之旅:从基础到深入
  • 服务接口鉴权与内部认证:自定义注解与AOP实现的企业级实践
  • 免杀一 线程加载
  • Excel 打开密码:守护数据安全的 “钥匙”
  • MySQL:备份还原数据库(mysqldump)
  • c# 解码 encodeURIComponent
  • RocketMQ 生产消费消息消息解析与重试机制详解
  • [GHCTF 2025]ret2libc1(NSSCTF)
  • 云蝠语音智能体——电话面试中的智能助手
  • 公司网站建设设计/百度做广告怎么收费
  • dw怎样做网站切换/网站运营管理
  • 经营网站建设/产品网络营销分析
  • 如何做网站的banner/中国十大外贸平台
  • 静态网站建设的流程/网络营销课程大概学什么内容
  • 安卓盒子做网站/百度搜索广告收费标准