Mybatis-Plus条件构造器的select用法解读

 更新时间:2026年04月25日 08:47:09   作者:m0_59259076  
Mybatis-Plus条件构造器的select方法可以避免查询冗余字段,它支持查询除指定字段以外的所有字段、指定字段以及结合聚合函数查询,如查询各个部门员工的平均年龄并按部门ID降序排序,此方法能有效提高查询效率

Mybatis-Plus条件构造器的select

select作用

选取指定的数据库字段,避免查询冗余的字段。

下面简单叙述一下select的用法;

1、查询除了指定字段以外的所有字段

方法:

QueryWrapper<T> select(Class<T> entityClass, Predicate<TableFieldInfo> predicate)

    @GetMapping(value = "/test")
    public List<Animal> test(Animal arg) {
        QueryWrapper<Animal> wrapper = Wrappers.query(arg)
                .select(Animal.class, item -> ! item.getColumn().equals("age"));
        return animalService.list(wrapper);
    }

控制台打印的sql语句如下:

SELECT
	id,
	create_time,
	NAME,
	update_time,
	del_flag,
	hobby 
FROM
	animal 
WHERE
	del_flag =0

2、查询指定字段

方法:

QueryWrapper<T> select(String... columns)

    @GetMapping(value = "/test")
    public List<Animal> test(Animal arg) {
        QueryWrapper<Animal> wrapper = Wrappers.query(arg)
                .select("id", "name", "hobby");
        return animalService.list(wrapper);
    }

控制台打印的sql语句如下:

SELECT id,name,hobby FROM animal WHERE del_flag=0

3、结合聚合函数查询

方法:

QueryWrapper<T> select(String... columns)

查询各个部门员工的平均年龄,然后按照部门id降序排序 

    @GetMapping(value = "/test")
    public List<Animal> test(Animal arg) {
        QueryWrapper<Animal> wrapper = Wrappers.query(arg)
                .select("dept_id", "AVG(age) AS avgAge")
                .groupBy("dept_id")
                .orderByDesc("dept_id");
        return animalService.list(wrapper);
    }

控制台打印的sql语句如下:

SELECT
	dept_id,
	AVG( age ) AS avgAge 
FROM
	animal 
WHERE
	del_flag = 0 
GROUP BY
	dept_id 
ORDER BY
	dept_id DESC

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Spring Boot 日志配置方法(超详细)

    Spring Boot 日志配置方法(超详细)

    默认情况下,Spring Boot会用Logback来记录日志,并用INFO级别输出到控制台。下面通过本文给大家介绍Spring Boot 日志配置方法详解,感兴趣的朋友参考下吧
    2017-07-07
  • Java Calendar类的时间操作

    Java Calendar类的时间操作

    这篇文章主要为大家详细介绍了Java Calendar类的时间操作,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-10-10
  • 使用JPA主键@Id,@IdClass,@Embeddable,@EmbeddedId问题

    使用JPA主键@Id,@IdClass,@Embeddable,@EmbeddedId问题

    这篇文章主要介绍了使用JPA主键@Id,@IdClass,@Embeddable,@EmbeddedId问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-06-06
  • Spring MVC的文件上传和下载以及拦截器的使用实例

    Spring MVC的文件上传和下载以及拦截器的使用实例

    这篇文章主要介绍了Spring MVC的文件上传和下载以及拦截器的使用实例,具有一定的参考价值,有兴趣的可以了解一下
    2017-08-08
  • Eclipse配置使用web.xml的方法

    Eclipse配置使用web.xml的方法

    这篇文章主要为大家详细介绍了Eclipse配置使用web.xml的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-03-03
  • Spring中propagation的传播机制详解

    Spring中propagation的传播机制详解

    这篇文章主要介绍了Spring中propagation的传播机制详解,要搞懂事务的传播机制,那么就要明白逻辑事务中各个事务的关系,才能彻底理解事务传播特性,在Spring事务中,各个逻辑事务的关系可以是并列、覆盖或包含,需要的朋友可以参考下
    2023-12-12
  • JDK10中的局部变量类型推断var

    JDK10中的局部变量类型推断var

    这篇文章主要介绍了JDK10中的局部变量类型推断var,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-09-09
  • mybatis spring配置SqlSessionTemplate的使用方式

    mybatis spring配置SqlSessionTemplate的使用方式

    这篇文章主要介绍了mybatis spring配置SqlSessionTemplate的使用方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-08-08
  • 浅谈Spring解决jar包依赖的bom

    浅谈Spring解决jar包依赖的bom

    这篇文章主要介绍了浅谈Spring解决jar包依赖的bom,具有一定借鉴价值,需要的朋友可以参考下
    2017-12-12
  • 教你使用java将excel数据导入MySQL

    教你使用java将excel数据导入MySQL

    今天教大家如何使用Java将excel数据导入MySQL,文中有非常详细的代码示例,对正在学习java的小伙伴呢很有帮助,需要的朋友可以参考下
    2021-05-05

最新评论