Mybatis-plus如何查询表中指定字段(不查询全部字段)
查询表中指定字段(不查询全部字段)
场景
Mybatis-Plus中BaseMapper提供的方法默认查询的是数据库中表的所有字段,但是有时候,我们仅仅需要查询的是表的某个字段货主一些字段,查询全部的话数据量大时会出现效率问题,况且对于有强迫症的人简直是难以忍受!!!
解决
Mybatis-Plus中通过构建QueryWrapper来设置select方法指定需要查询的字段。
具体图片

只查询部分字段的两种方法
mybatis-plus(后面简称为mp)是mybatis的增强版,官方称之为 “ 只做增强,不做修改 ”。mp将一些简单的sql语句进行了封装和自动生成,提高了效率,但是降低了性能。
那么,用mybatis可以自己写sql,查询语句可以自由发挥,比如可以只查询表中的部分字段,对于mp也有两种针对此种需求的方法,下面就来介绍:
方法1
只需要查询出name和phone两个字段:使用queryWrapper的select()方法指定要查询的字段
@Test
public void selectByWrapper1() {
QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.select("name", "phone").eq("age",25);
List<User> users = userMapper.selectList(queryWrapper);
users.forEach(System.out::println);
}方法2
查询出除age和address外其它所有字段的数据:同样使用queryWrapper的select()方法
@Test
public void selectByWrapper2() {
QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.select(User.class, info -> !info.getColumn().equals("age")
&& !info.getColumn().equals("address")).eq("name","jack");
List<User> users = userMapper.selectList(queryWrapper);
users.forEach(System.out::println);
}以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
Spring BeanPostProcessor后处理器源码解析
这篇文章主要介绍了Spring BeanPostProcessor后处理器源码解析,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧2023-09-09
AbstractProcessor扩展MapStruct自动生成实体映射工具类
这篇文章主要为大家介绍了AbstractProcessor扩展MapStruct自动生成实体映射工具类实现详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪2023-01-01
SpringCloud OpenFeign 服务调用传递 token的场景分析
这篇文章主要介绍了SpringCloud OpenFeign 服务调用传递 token的场景分析,本篇文章简单介绍 OpenFeign 调用传递 header ,以及多线程环境下可能会出现的问题,其中涉及到 ThreadLocal 的相关知识,需要的朋友可以参考下2022-07-07
java:无法访问org.springframework.boot.SpringApplication问题
这篇文章主要介绍了java:无法访问org.springframework.boot.SpringApplication问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教2024-08-08


最新评论