• Mybatis-Plus 实战完整学习笔记(七)------select测试二


    1.查询selectOne  (3.0.3版)

     1 @Test
     2     public void selectMethod() throws SQLException {
     3 
     4      // 根据ID获取一个对象的数据
     5 
     6         Employee employee =employeeMapper.selectOne(new QueryWrapper<Employee>().eq("id","1"));
     7 
     8         if (employee!=null) {
     9             logger.info("++一个员工信息+++++"+gson.toJson(employee));
    10         }
    11 
    12 
    13              
    14 
    15 
    16     }
    View Code

    其相当于SQL语句:SELECT id,last_name,email,gender,age FROM tbl_employee WHERE id = ?

    2.3版本的写法是直接注入一个对象,对象的set值就是查询的条件,同时,ID要是Long或Integer类型,条件一定要唯一,否则,会报数据重复的异常。

    1 Employee employee = new Employee();
    2         employee.setId(1);
    3 
    4         Employee result =employeeMapper.selectOne(employee);
    5 
    6         if (result!=null) {
    7             logger.info("++一个员工信息+++++"+gson.toJson(result));
    8         }
    View Code

    2、查询selectMaps(3.0.3新出)

     1 @Test
     2     public void selectMethod() throws SQLException {
     3 
     4         // 6、多个Map查询
     5         Employee employee = employeeMapper.selectById(1);
     6 
     7         QueryWrapper<Employee> employeeQueryWrapper = new QueryWrapper<>();
     8 
     9         List<Map<String, Object>> employeeList =employeeMapper.selectMaps(employeeQueryWrapper);
    10 
    11  
    12         if (!employeeList.isEmpty()) {
    13             logger.info("++一个员工信息+++++"+gson.toJson(employeeList));
    14         }
    15 
    16 
    17 
    18     }
    View Code

    写法跟其他的查询没有区别,只是返回的结果,变成List<Map<String,Object>>,条件查询跟上边的一样。

    返回样式

    1 ++一个员工信息+++++[{"gender":"0","last_name":"Marry","id":1,"email":"1","age":55},{"gender":"0","last_name":"Marry","id":2,"email":"1","age":55},{"gender":"0","last_name":"Marry","id":3,"email":"1","age":55},{"gender":"0","last_name":"Marry","id":4,"email":"1","age":55},{"gender":"0","last_name":"Marry","id":12,"email":"1","age":55},{"gender":"0","last_name":"Marry","id":13,"email":"1","age":55},{"gender":"0","last_name":"Marry","id":14,"email":"1","age":55},{"gender":"0","last_name":"Marry","id":15,"email":"1","age":55},{"gender":"0","last_name":"Marry","id":16,"email":"1","age":55},{"gender":"0","last_name":"Marry","id":17,"email":"1","age":55},{"gender":"0","last_name":"Marry","id":18,"email":"1","age":55},{"gender":"0","last_name":"Marry","id":19,"email":"1","age":55},{"gender":"0","last_name":"Marry","id":20,"email":"1","age":55},{"gender":"0","last_name":"Marry","id":21,"email":"1","age":55}] (TestCRUD.java:159) 
    View Code

    本来以为是要装多个map进去查询就写成下边的样子,结果不是那个意思

     1  // 6、多个Map查询
     2         Employee employee = employeeMapper.selectById(1);
     3 
     4         Map<String,Object> map1 = new HashMap<>(16);
     5         map1.put("email",employee.getEmail());
     6         map1.put("age",employee.getAge());
     7 
     8         Employee employee2 = employeeMapper.selectById(2);
     9         Map<String,Object> map2 = new HashMap<>(16);
    10         map2.put("email",employee2.getEmail());
    11         map2.put("age",employee2.getAge());
    12         
    13         List<Map<String,Object>> mapList = new ArrayList<>();
    14         mapList.add(map1);
    15         mapList.add(map2);
    16 
    17 
    18         QueryWrapper<List<Map<String, Object>>> maps = new QueryWrapper<List<Map<String, Object>>>();
    19         maps.setEntity((mapList));
    20 
    21 
    22         List<Map<String, Object>> employeeList =employeeMapper.selectMaps(maps);
    View Code

    3、查询selectObjs

     1 @Test
     2     public void selectMethod() throws SQLException {
     3 
     4         // 7、selectObjs
     5         Employee employee = employeeMapper.selectById(1);
     6 
     7         List<Object> employeeList =employeeMapper.selectObjs(new QueryWrapper<Employee>().eq("email",employee.getEmail()));
     8         
     9 
    10         if (!employeeList.isEmpty()) {
    11             logger.info("++一个员工信息+++++"+gson.toJson(employeeList));
    12         }
    13 
    14 
    15     }
    View Code

    用法一样,就是返回的结果是个Object类型。

    4、统计结果查询selectCount

     1  @Test
     2     public void selectMethod() throws SQLException {
     3 
     4         // 8、selectCount
     5          Employee employee = employeeMapper.selectById(1);
     6 
     7         Integer count = employeeMapper.selectCount(new QueryWrapper<Employee>().eq("email", employee.getEmail()));
     8 
     9         if (count > 0) {
    10             logger.info("++统计结果:+++++" + count);
    11         }
    12 
    13     }
    View Code

    5、分页查询selectPage

     1 @Test
     2     public void selectMethod() throws SQLException {
     3 
     4 //        9、分页查询
     5 
     6         Integer count = employeeMapper.selectCount(new QueryWrapper<Employee>().between("age", 0, 100)
     7                 .eq("gender", 0));
     8 
     9         IPage<Employee> employeeIPage = new Page<Employee>(1, 3,count);
    10 
    11         IPage<Employee>  employeeList = employeeMapper.selectPage(employeeIPage,new QueryWrapper<Employee>()
    12                 .between("age", 0, 100)
    13                 .eq("gender", 0));
    14 
    15         if (!employeeList.getRecords().isEmpty()) {
    16             logger.info("++一个员工信息+++++" + gson.toJson(employeeList));
    17         }
    18 
    19 }
    View Code

    6、分页查询返回map类型的selectMapsPage

     1 @Test
     2     public void selectMethod() throws SQLException {
     3 
     4         // 10、分页查询Map结果返回
     5         Integer count = employeeMapper.selectCount(new QueryWrapper<Employee>().between("age", 0, 100)
     6                 .eq("gender", 0));
     7 
     8         IPage<Employee> employeeIPage = new Page<Employee>(1, 3, count);
     9 
    10         IPage<Map<String, Object>> employeeList = employeeMapper.selectMapsPage(employeeIPage, new QueryWrapper<Employee>()
    11                 .between("age", 0, 100)
    12                 .eq("gender", 0));
    13 
    14         if (!employeeList.getRecords().isEmpty()) {
    15             logger.info("++一个员工信息+++++" + gson.toJson(employeeList));
    16         }
    17 
    18     }
    View Code

     System.out.println("返回数据:"+employeeIPage.getRecords());

    System.out.println("总条数:"+page.getTotal());

    System.out.println("当前页码:"+page.getCurrent());

    System.out.println("总页码:"+page.getPages());

    System.out.println("每页显示条数:"+page.getSize());

    System.out.println("是否有上一页:"+page.hasPrevious());

    System.out.println("是否有下一页:"+page.hasNext());

    System.out.println("返回的数据:"+page.getRecords());

  • 相关阅读:
    java学习大方向
    js总结001
    MySQL总结
    快捷键
    java基础总结001
    网络设备的发展与作用(冲突域与广播域)
    二进制&八进制&十六进制之间的快速转换------ 心算&笔算方法总结
    IP地址的定义和划分
    初学Linux基本的命令操作应当记牢
    JDK的下载与安装
  • 原文地址:https://www.cnblogs.com/liuyangfirst/p/9738792.html
Copyright © 2020-2023  润新知