Mybatis-Plus條件構造器select方法返回指定字段


條件構造器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);
}

實例二:查找薪水大於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);
}

實例三:查詢每個部門的平均薪資

sql實現:

SELECT departmentId,AVG(salary) AS avg_salary FROM t_employee GROUP BY department_id;
@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);
}

 

 

------------------------------------------------------------------------------------------------------------------------------

作者: java1234_小鋒

出處:https://www.cnblogs.com/java688/p/13594789.html

版權:本站使用「CC BY 4.0」創作共享協議,轉載請在文章明顯位置注明作者及出處。

------------------------------------------------------------------------------------------------------------------------------


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM