MyBatis-Plus排除不必要的字段

查询学生信息排除年龄列表 📚🔍

使用MyBatis-Plus排除某些字段。如果你想要进行查询,但又不需要包含某些字段,那么这个功能将非常适合你。🔍🎓📝

1. 学生信息查询-排除年龄列表

在使用 MyBatis-Plus 进行查询时,我们可以使用以下示例代码来选择不必要的字段:

java 复制代码
return lambdaQuery()
       .select(Student.class , info -> ! info.getColumn().equals("age"))
       .list();

在这个 Lambda 表达式中,info 是一个 TableFieldInfo 对象,表示实体类中的一个字段信息。getColumn() 方法返回字段的名称。

!info.getColumn().equals("age") 的含义是判断字段名称是否等于 "age",如果字段名称不等于 "age",则条件判断结果为 true,表示选择该列进行查询;如果字段名称等于 "age",则条件判断结果为 false,表示不选择该列进行查询, ! 运算符表示逻辑非,将判断结果取反。

因此,这段代码的作用是选择字段名称不等于 "age" 的列进行查询,而排除了名为 "age" 的列。

这个功能的好处在于我们可以轻松地进行字段的选择,而无需编写 SQL 语句。让我们看看返回结构:

2.设定默认属性非空规则 📄✨

如果你不想给前端返回空值,那么你可以使用以下配置来设定默认属性的非空规则:

yaml 复制代码
spring:
  jackson:
    defaultPropertyInclusion: NON_NULL

当我们使用 Jackson 将 Java 对象序列化为 JSON 时,可以通过设置 defaultPropertyInclusion 属性来指定默认的属性包含策略。属性的包含策略有以下几种选项:

  • ALWAYS:包含所有属性,包括 null 值。
  • NON_NULL:只包含非空属性。
  • NON_EMPTY:只包含非空且非空字符串属性。
  • NON_DEFAULT:只包含在对象中明确设置过值的属性。

通过将 defaultPropertyInclusion 设置为 NON_NULL,我们可以确保在序列化为 JSON 时,只有非空的属性会被包含在内,而 null 值将不会被返回给前端。这个设置非常方便,可以有效地优化前端的数据处理。

让我们看看下面的返回结果,更好地理解这个设置的作用:

结语 📝🎉

MyBatis-Plus 的强大功能确实查询提供了很大的便利。通过选择不必要的字段以及设定默认属性的非空规则,我们可以更加灵活地操作查询结果,并优化前端数据的展示!👍📢

相关推荐
sensenlin913 天前
Mybatis中SQL全大写或全小写影响执行性能吗
数据库·sql·mybatis
BXCQ_xuan3 天前
软件工程实践四:MyBatis-Plus 教程(连接、分页、查询)
spring boot·mysql·json·mybatis
wuyunhang1234563 天前
Redis----缓存策略和注意事项
redis·缓存·mybatis
lunz_fly19924 天前
【源码解读之 Mybatis】【基础篇】-- 第2篇:配置系统深度解析
mybatis
森林-4 天前
MyBatis 从入门到精通(第一篇)—— 框架基础与环境搭建
java·tomcat·mybatis
森林-4 天前
MyBatis 从入门到精通(第三篇)—— 动态 SQL、关联查询与查询缓存
sql·缓存·mybatis
java干货4 天前
MyBatis 的“魔法”:Mapper 接口是如何找到并执行 SQL 的?
数据库·sql·mybatis
嬉牛4 天前
项目日志输出配置总结(多数据源MyBatis+Logback)
mybatis·logback
哈喽姥爷5 天前
Spring Boot--yml配置信息书写和获取
java·数据库·spring boot·mybatis
奔跑你个Run6 天前
mybatis plus 使用wrapper输出SQL
mybatis