Mybatis Plus Wrapper查询某几列的方法实现

 更新时间:2024年10月11日 10:22:17   作者:木头左  
MybatisPlus中,使用Wrapper的select和notSelect方法可以精确控制查询的字段,本文就来介绍一下Mybatis Plus Wrapper查询某几列的方法实现,感兴趣的可以了解一下

在Mybatis Plus中,经常需要根据条件进行查询,但是有时候并不需要查询所有的字段,只需要查询某几列。这时候可以使用Wrapper的select方法来实现。下面我将详细介绍如何使用Wrapper来查询某几列,不查询某几列。

1. 基本用法

需要创建一个实体类,例如User,然后创建一个对应的Mapper接口,例如UserMapper。接着,可以在Service层或者Controller层使用Wrapper来进行查询。

@Service
public class UserService {
    @Autowired
    private UserMapper userMapper;

    public List<User> selectColumns(Wrapper<User> wrapper) {
        return userMapper.selectList(wrapper);
    }
}

在上面的代码中,定义了一个selectColumns方法,该方法接收一个Wrapper参数,然后调用userMapper的selectList方法进行查询。

2. 查询某几列

如果想要查询User实体中的name和age字段,可以这样写:

Wrapper<User> wrapper = new QueryWrapper<>();
wrapper.select("name", "age");
List<User> users = userService.selectColumns(wrapper);

在上面的代码中,创建了一个QueryWrapper对象,然后调用select方法传入要查询的字段名,最后调用userService的selectColumns方法进行查询。

3. 不查询某几列

如果不想查询User实体中的id字段,可以这样写:

Wrapper<User> wrapper = new QueryWrapper<>();
wrapper.select(User.class, i->!i.getColumn().equals("id"));
List<User> users = userService.selectColumns(wrapper);

在上面的代码中,创建了一个QueryWrapper对象,然后调用select方法传入要查询的字段名,接着调用notSelect方法传入不想查询的字段名,最后调用userService的selectColumns方法进行查询。

4. mybatis-plus只查询部分字段的两种方法

方法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);
}

到此这篇关于Mybatis Plus Wrapper查询某几列的方法实现的文章就介绍到这了,更多相关Mybatis Plus Wrapper查询某几列内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Java如何实现CIDR转IP段

    Java如何实现CIDR转IP段

    CIDR是一种用于高效分配和管理 IP 地址的网络编址方法,这篇文章主要为大家详细介绍了如何使用Java实现CIDR转IP段,感兴趣的小伙伴可以参考一下
    2025-03-03
  • 详解Java 中的函数式接口

    详解Java 中的函数式接口

    这篇文章主要为大家介绍了Java中的函数式接口,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助<BR>
    2021-12-12
  • SpringBoot与单元测试JUnit的结合操作

    SpringBoot与单元测试JUnit的结合操作

    这篇文章主要介绍了SpringBoot与单元测试JUnit的结合操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-10-10
  • Spring Boot如何处理@Resource示例分析

    Spring Boot如何处理@Resource示例分析

    这篇文章主要为大家介绍了Spring Boot如何处理@Resource示例分析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-07-07
  • MyBatis拦截器分表实践分享

    MyBatis拦截器分表实践分享

    部门内有一些亿级别核心业务表增速非常快,增量日均100W,但线上业务只依赖近一周的数据,随着数据量的迅速增长,慢SQL频发,数据库性能下降,系统稳定性受到严重影响,本篇文章,将分享如何使用MyBatis拦截器低成本的提升数据库稳定性,需要的朋友可以参考下
    2024-01-01
  • Java 中的Printstream介绍_动力节点Java学院整理

    Java 中的Printstream介绍_动力节点Java学院整理

    PrintStream 是打印输出流,它继承于FilterOutputStream。接下来通过本文给大家介绍Java 中的Printstream,需要的朋友参考下吧
    2017-05-05
  • Spring中ApplicationContext的拓展功能详解

    Spring中ApplicationContext的拓展功能详解

    这篇文章主要介绍了Spring中ApplicationContext的拓展功能详解,相对于BeanFactory来说,ApplicationContext除了提供BeanFactory的所有功能外,还有一些其他的功能,主要包括国际化支持、资源访问、事件传递,需要的朋友可以参考下
    2024-01-01
  • 深入理解Java嵌套类和内部类

    深入理解Java嵌套类和内部类

    本篇文章主要介绍了深入理解Java嵌套类和内部类,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-05-05
  • 详细解读spring中的@Resource注解

    详细解读spring中的@Resource注解

    这篇文章主要介绍了详细解读spring中的@Resource注解,此注解来源于JSR规范(Java Specification Requests),其作用是找到依赖的组件注入到应用来,它利用了JNDI技术查找所需的资源,需要的朋友可以参考下
    2023-10-10
  • 识别率很高的java文字识别技术

    识别率很高的java文字识别技术

    这篇文章主要为大家详细介绍了识别率很高的java文字识别技术,亲测,希望对大家有帮助,感兴趣的小伙伴们可以参考一下
    2016-08-08

最新评论