• jpa使用example对象查询和分页


    example构建对象时 ,如果有默认值 比如int类型 的 都会生成sql语句,在使用的时候要特别注意设置忽略查询的属性

    ExampleMatcher 设置查询规则

    案例:

       @Test
        public  void  testExampleQuery(){
            SysMenu menu= SysMenu.builder().menuName("测试").build();
    
            ExampleMatcher matcher=ExampleMatcher.matching()
                    //设置默认的字符串查询为 like
                    .withStringMatcher(ExampleMatcher.StringMatcher.CONTAINING)
                    //设置忽略大小写 也可以设置负略的字段 withIgnoreCase(String... propertyPaths)
                    .withIgnoreCase(true)
                    //设置为开头模糊查询 如 : like %asas
                    .withMatcher("menuName",ExampleMatcher.GenericPropertyMatchers.startsWith())
                    //设置为结尾模糊模糊查询 如 : like asas%
                    .withMatcher("menuIcon",ExampleMatcher.GenericPropertyMatchers.endsWith())
                    //设置为全模糊 如 like %asas%
    //                .withMatcher("menuName",ExampleMatcher.GenericPropertyMatchers.contains())
                    // 設置查询忽略的属性
                    .withIgnorePaths("orderNum","menuId","parentId");
    
    
            Example<SysMenu> example=Example.of(menu,matcher);
            //设置分页 排序
            Pageable pageable=PageRequest.of(0,1,Sort.by(Sort.Direction.DESC,"menuId"));
            Page<SysMenu> all = dao.findAll(example, pageable);
            System.out.println(all.getContent());
            System.out.println(all.getTotalPages());
            System.out.println(all.getTotalElements());
    
        }
    
  • 相关阅读:
    Delphi IDE 设置
    我最喜欢的歌曲
    Window 常用文件
    Delphi TTable 组件
    Delphi TDatabase 组件
    c语言->和 .
    Shell 工具之 gawk
    Shell 工具之 sed
    Shell 语法之函数
    Shell 语法之信号与作业
  • 原文地址:https://www.cnblogs.com/HiLzd/p/14533973.html
Copyright © 2020-2023  润新知