SpingData JPA之ExampleMatcher实例查询

本文详细介绍了如何使用Java ORM框架进行数据库操作,包括通过Spring框架整合ORM框架,实现数据库查询、更新等操作。文中提供了具体的代码示例,展示了如何设置查询条件、分页查询以及数据转换的过程。
List<TableColumnGetResVO> list = new ArrayList<>();
        TableColumns tableColumnsQuery = new TableColumns();
        if(StringUtils.isNotBlank(reqVO.getTableName())){
            tableColumnsQuery.setTableName(reqVO.getTableName());
        }
        ExampleMatcher example = ExampleMatcher.matchingAll();
        List<TableColumns> tableColumnsList = tableColumnsRepository.findAll(Example.of(tableColumnsQuery, example));

        if(CollectionUtil.isNotEmpty(tableColumnsList)){
            for(TableColumns tableColumns : tableColumnsList){
                TableColumnGetResVO tableColumnGetResVO = new TableColumnGetResVO();
                BeanUtils.copyProperties(tableColumns, tableColumnGetResVO);
                list.add(tableColumnGetResVO);
            }
        }
        return list;
Pageable pageable = PageRequest.of(reqVO.getPageNo(), reqVO.getPageSize());

        Factory factoryQuery = new Factory();
        factoryQuery.setCode(reqVO.getCode());
        factoryQuery.setContact(reqVO.getContact());
        factoryQuery.setName(reqVO.getName());


        ExampleMatcher example = ExampleMatcher.matching()
                .withMatcher("code", ExampleMatcher.GenericPropertyMatchers.contains())
                .withMatcher("contact", ExampleMatcher.GenericPropertyMatchers.contains())
                .withMatcher("name", ExampleMatcher.GenericPropertyMatchers.contains());
        Page<Factory> factoryPage = factoryRepository.findAll(Example.of(factoryQuery, example),pageable);

        List<Factory> factoryList = factoryPage.getContent();

        List<FactoryGetResVO> factoryGetResVOList = new ArrayList<>();
        factoryList.forEach(factory -> {
            FactoryGetResVO factoryGetResVO = new FactoryGetResVO();
            BeanUtils.copyProperties(factory, factoryGetResVO);
            factoryGetResVOList.add(factoryGetResVO);
        });
        FactoryGetPageResVO factoryGetPageResVO = FactoryGetPageResVO.builder()
                .list(factoryGetResVOList).build();
        factoryGetPageResVO.setPageNo(factoryPage.getNumber());
        factoryGetPageResVO.setPageSize(factoryPage.getSize());
        factoryGetPageResVO.setTotalCount(factoryPage.getTotalPages());
        return factoryGetPageResVO;
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值