其他分享
首页 > 其他分享> > mybatis_plus子查询和分页查询处理

mybatis_plus子查询和分页查询处理

作者:互联网

字段名称

中文

类型

长度

主键

自增

默认值

备注

Id

 

Int

 

Y

 

 

 

emp_name

员工姓名

varchar

 

 

 

 

 

login_name

登录帐号

Varchar

 

 

 

 

 

login_password

登录密码

 

 

 

 

 

 

age

年龄

Int

 

 

 

 

 

gender

性别

Varchar

 

 

 

 

 

addr

地址

varchar

 

 

 

 

 

dept_name

部门名称

Varchar

 

 

 

 

 

status

状态

tinyint

 

 

 

0

0工作

1休息

2离职

默认是工作状态

deleted

是否删除

tinyint

1

 

 

0

 

针对第五天任务表格,完成如下查询操作

  1. 查询所有年龄在22到30岁的男性员工信息
  2. 查询市场部或者是销售部的女性员工信息
  3. 查询地址在长春且工作状态是休息的员工信息
  4. 查询所有登录帐号中包含admin字样,且要求(性别是男或者部门是人事部)的员工信息
  5. 查询所有员工信息,按年龄降序排列,并分页显示,每页显示5条数据

 

/*1.查询所有年龄在22到30岁的男性员工信息*/
    @Test
    void selectListByAge(){
        QueryWrapper<Employee> wrapper = new QueryWrapper<>();
        wrapper.between("age",22,30)
                .eq("gender","男");
        List<Employee> list = mapper.selectList(wrapper);
        list.forEach(System.out::println);
    }

    /*2.查询市场部或者是销售部的女性员工信息*/
    @Test
    void selectByDeptAndGender(){
        QueryWrapper<Employee> wrapper = new QueryWrapper<>();
        wrapper.eq("dept_name","市场部")
                .or()
                .eq("dept_name","销售部")
                .eq("gender","女");
        List<Employee> list = mapper.selectList(wrapper);
        list.forEach(System.out::println);
    }

    /*3.查询地址在长春且工作状态是休息的员工信息*/
    @Test
    void selectByAddrAndStatus(){
        QueryWrapper<Employee> wrapper = new QueryWrapper<>();
        wrapper.like("addr","长春")
                //.eq("status",1);
                .and(i->i.eq("status",1));
        List<Employee> list = mapper.selectList(wrapper);
        list.forEach(System.out::println);
    }

    /*4.查询所有登录帐号中包含admin字样,且要求(性别是男或者部门是人事部)的员工信息*/
    @Test
    void selectByAdmin(){
        QueryWrapper<Employee> wrapper = new QueryWrapper<>();
        wrapper.like("login_name","admin")
                .and(i->i.eq("gender","男")
                        .or().
                        eq("dept_name","人事部"));
        List<Employee> list = mapper.selectList(wrapper);
        list.forEach(System.out::println);
    }

    /*5.查询所有员工信息,按年龄降序排列,并分页显示,每页显示5条数据*/
    @Test
    void selectByPage(){
        Page<Employee> page = new Page<>(1,5);
        QueryWrapper<Employee> wrapper = new QueryWrapper<>();
        wrapper.orderByDesc("age");
        mapper.selectPage(page,wrapper);
        System.out.println("总记录数:"+page.getTotal()+"\t"+"\t总页数"+page.getPages()
                +"\t当前页:"+page.getCurrent()+"\t每页显示"+page.getSize()+"条数据\t"
                +"是否有上一页:"+page.hasPrevious()+"\t是否有下一页"+page.hasNext());
    }

 

标签:QueryWrapper,查询处理,list,wrapper,查询,plus,mybatis,eq,page
来源: https://www.cnblogs.com/zengyu1234/p/16647890.html