mybatisplus常用小技巧

news/2024/7/5 1:51:17

条件构造器select方法介绍

根据业务需求,有时候只需要返回特定的几个数据表字段,我们通过条件构造器的select方法可以指定;

还有一种情况,假如数据库字段很多的时候,我们要排除某几个字段,其他字段返回的时候,select方法也支持排除某些字段,查询其他的;

最后还有一种情况,我们搞分组聚合函数的时候,可以使用select方法,返回聚合函数执行后的数据字段;

实例

实例一:查找薪水大于3500 名字里有“小”的 员工 (只显示编号和姓名)

@Test
public void selectByQueryWrapper7(){
    QueryWrapper<Employee> queryWrapper=new QueryWrapper();
    // QueryWrapper<Employee> queryWrapper2=Wrappers.<Employee>query();
    queryWrapper.select("id","name").gt("salary",3500).like("name","小");
    List<Employee> employeeList = employeeMapper.selectList(queryWrapper);
    System.out.println(employeeList);
}
1
2
3
4
5
6
7
8

实例二:查找薪水大于3500 名字里有“小”的 员工 (排除出生日期和性别)

@Test
public void selectByQueryWrapper8(){
    QueryWrapper<Employee> queryWrapper=new QueryWrapper();
    // QueryWrapper<Employee> queryWrapper2=Wrappers.<Employee>query();
    queryWrapper
             .select(Employee.class,fieldInfo->!fieldInfo.getColumn().equals("birthday")&&!fieldInfo.getColumn().equals("gender"))
             .gt("salary",3500)
             .like("name","小");
    List<Employee> employeeList = employeeMapper.selectList(queryWrapper);
    System.out.println(employeeList);
}
1
2
3
4
5
6
7
8
9
10
11

实例三:查询每个部门的平均薪资

sql实现:

SELECT departmentId,AVG(salary) AS avg_salary FROM t_employee GROUP BY department_id;
1
@Test
public void selectByQueryWrapper9(){
    QueryWrapper<Employee> queryWrapper=new QueryWrapper();
    // QueryWrapper<Employee> queryWrapper2=Wrappers.<Employee>query();
    queryWrapper
             .select("department_id","AVG(salary) AS avg_salary")
             .groupBy("department_id");
    List<Employee> employeeList = employeeMapper.selectList(queryWrapper);
    System.out.println(employeeList);
}

http://lihuaxi.xjx100.cn/news/1330636.html

相关文章

AR 技术应用与管理:施工建造、机柜扫描、办公室导航

随着科技的不断革新和创新&#xff0c;越来越多的行业开始迎来数字化时代的变革。建筑行业作为人类历史上最重要的产业之一&#xff0c;在数字化转型方面同样也在不断推进。图扑软件结合 AR 技术的应用&#xff0c;为建筑行业带来了更加便捷高效的建筑施工过程管理。 传统的建…

Linux新建指定文件数量限额的目录

参考文章 https://blog.csdn.net/weixin_28848317/article/details/116647116?spm1001.2101.3001.6661.1&utm_mediumdistribute.pc_relevant_t0.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-1-116647116-blog-54933188.235%5Ev38%5Epc_relevant_default_base&depth_…

AI模型从训练到部署的源码示例

这里给出一个简单的AI模型从训练到部署的源码示例&#xff0c;以图像分类为例&#xff1a; 1. 数据收集和预处理 python import numpy as np import matplotlib.pyplot as plt import tensorflow as tf from tensorflow import keras from tensorflow.keras import layers #…

大模型调用工具魔搭GPT——一键调用魔搭社区上百个AI模型的API

为了让模型开发变得更容易,阿里云在发布会现场推出了一款令开发者耳目一新的工具:ModelScopeGPT(魔搭GPT)。它能够通过担任“中枢模型”的大语言模型一键调用魔搭社区其他的AI模型,实现大模型和小模型协同完成复杂任务。 这类智能调用工具被业界普遍看好。ModelScopeGP…

码头控制柜无线控制行车折臂与电动葫芦限位器运作

随着我国海洋交通的快速发展&#xff0c;船舶信息化管理的建设&#xff0c;无线通信资源的配置&#xff0c;将先进的无线通信技术引入水上交通安全的监管业务中已是大势所趋。码头安装(设备和系统的安装) 船舶下水后常停靠于厂内舾装码头, 以安装船体设备, 机电设备&#xff0c…

OpenAI GPT-4 Code Interpreter测试

OpenAI GPT-4 Beta版本Code Interpreter功能分析 OpenAI最近在GPT-4中推出了Code Interpreter功能的Beta版本&#xff0c;它是ChatGPT的一个版本&#xff0c;可以编写和执行Python代码&#xff0c;并处理文件上传。以下是对其表现的基本分析。 主要功能 文件信息获取&#xf…

C++ | How C++ Linker works?

How C Linker works? 文章目录 How C Linker works?LinkingExample 1结论 Example 2CASE 1CASE 2CASE 3CASE 4常用解法 >>>>> 欢迎关注公众号【三戒纪元】 <<<<< Linking Linking 是C 源码到可执行二进制时的一个过程&#xff0c;主要工作是找…

vue3中的生命周期

一、vue3中的选项式生命周期 Vue 3中的选项式生命周期钩子基本上与Vue 2保持一致&#xff0c;它们都是定义在Vue实例的对象参数中的函数&#xff0c;它们在Vue实例的生命周期的不同阶段被调用。简单来说&#xff0c;生命周期钩子就是Vue.js特别提供的一些函数&#xff0c;会在…