條件構造器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」創作共享協議,轉載請在文章明顯位置注明作者及出處。
------------------------------------------------------------------------------------------------------------------------------