Spring

[스프링] crud test

웨일파도 2023. 7. 11. 11:16
반응형
   @Test
    void crud2() {
        // insert 문
        Member member = Member.builder()
                .id(8L)
                .name("소우리")
                .createAt(LocalDateTime.now())
                .build();
        memberRepository.save(member);

        Member member2 = Member.builder()
                .id(9L)
                .name("박소현")
                .email("parksohyeon@gmail.com")
                .updateAt(LocalDateTime.now())
                .build();
        memberRepository.save(member2);

        Member member3 = Member.builder()
                .id(15L)
                .name("박조은")
                .email("parkjoeun@gmail.com")
                .createAt(LocalDateTime.now())
                .build();
        memberRepository.save(member3);

        // select(by)
        Optional<Member> memberOptional = memberRepository.findById(10L);
        System.out.println("memberOptional" + memberOptional);
//        Member member = memberRepository.findById(1L).orElse(null);
//        if (member != null) {
//            System.out.println(member);
//        }

        List<Member> memberList4 = memberRepository.findAllById(Lists.newArrayList(3L, 7L)); // == select * from member where id in (1, 3)
        memberList4.forEach(System.out::println);

        // select count 함수
        System.out.println("count: " + memberRepository.count());

        // select exist함수
        boolean isFiveNumberMember = memberRepository.existsById(5L);
        if (isFiveNumberMember)
            System.out.println("5번 회원 존재");

        boolean isNinetyNumberMember = memberRepository.existsById(90L);
        if (isNinetyNumberMember)
            System.out.println("90번 회원 존재");

        // select page함수
        Page<Member> membersPage = memberRepository.findAll(PageRequest.of(0, 4));
        System.out.println("page: " + membersPage);
        System.out.println("totalElements: " + membersPage.getTotalElements());
        System.out.println("totalPage: " + membersPage.getTotalPages());
        System.out.println("numberOfElements: " + membersPage.getNumberOfElements());
        System.out.println("sort: " + membersPage.getSort());
        System.out.println("size: " + membersPage.getSize());

        List<Member> memberList2 = membersPage.getContent();
        memberList2.forEach(System.out::println);

        System.out.println("-----------------------------------------------------------");
        // jpa find example이용(select)
        ExampleMatcher matcher = ExampleMatcher.matching()
//                .withIgnorePaths("name")
                .withMatcher("email", endsWith());

        Example<Member> memberExample = Example.of(
                Member.builder().email("@thejoeun.com").build(),
                matcher
        );

        memberRepository.findAll(memberExample).forEach(System.out::println);

    }
반응형