开发者

Mybatis-Plus中的查询指定字段

开发者 https://www.devze.com 2024-09-20 10:38 出处:网络 作者: 清梦压星河_Ciao
目录MyBATis-Plus查询指定字段Mybatis-Plus只查询部分字段的三种方法方法1方法2方法3总结Mybatis-Plus查询指定字段
目录
  • MyBATis-Plus查询指定字段
  • Mybatis-Plus只查询部分字段的三种方法
    • 方法1
    • 方法2
    • 方法3
  • 总结

    Mybatis-Plus查询指定字段

    select word from addition;
    public void test3(){
       android LambdaQueryWrapper<Addition> queryWrapper = new LambdaQueryWrapper<>();
        queryWrapper.select(Addition::getWord);
         //方法一:通过stream流操作
        List<String> list = additonService.list(queryWrapper).stream().map(Addition::getWord).collect(Collectors.toList());
        //方式二:listObjs
        List<Object> list1 = additionService.listObjs(queryWrapper);
    }
    • 方法一查询时执行的SQL语句为:
    select * from addition;
    • 方法二执行的SQL语句为:效率更高。
    select word from addition;

    Mybatis-Plus只查询部分字段的三种方法

    方法1

    只需要查询出name和phone两个字段:使用queryWrapper的select()方法指定要查询的字段

    public void selectByWrapper1() {
            编程客栈QueryWrapper<User> queryWrapper = new QueryWrapper<>()php;
            queryWrapper.select("name", "phone").eq("age",25);
            List<User> users = userMapper.selectList(queryWrapper);
            users.forEach(System.out::println);
        }

    这种方法会造成除“name”之外的字段的值为null

    方法2

    查询出除age和address外其它所有字段的数据:同样使用queryWrapper的select()方法

    public void selectByWrapper2() {
            QueryWrapper<User> queryWrapper = new QueryWrapper<>();
            queryWrapper.select(User.class, info -> !info.getColumn().equals("age")
                    && !info.getColumn().equals("address")).eq("name","jack");
            androidList<User> users = userMapper.selectList(queryWrapper);
            users.forEach(System.out::println);
        }

    这种方法会造成除“age”"address"的字段的值为null

    方法3

    selectMaps

    public void selectMaps2(){
     js       QueryWrapper<User> userQueryWrapper = Wrappers.query();
    
            userQueryWrapper.select("avg(age) avg_age" , "min(age) min_age" , "max(age) max_age")
                            .groupBy("age")
                            .having("sum(age) < {0}" , 60);
            List<Map<String , Object>> mapList = userMapper.selectMaps(userQueryWrapper);
            mapList.forEach(System.out::println);
        }

    总结

    以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程客栈(www.devze.com)。

    0

    精彩评论

    暂无评论...
    验证码 换一张
    取 消