- JPA
@Override
public void delete(String name) {
// Member member = findByName(name).orElseThrow(IllegalStateException::new);
// Member deleteMember = em.find(Member.class, member.getId());
// em.remove(deleteMember);
findByName(name).ifPresent(member -> em.remove(member));
}
@Override
public Member updateName(String name, String updateName) {
findByName(name).ifPresent(member -> member.setName(updateName));
return findByName(updateName).get();
}
- JdbcTemplate
@Override
public void delete(String name) {
jdbcTemplate.update("delete from member where name = ?", name);
}
@Override
public Member updateName(String name, String updateName) {
Member member = findByName(name).orElseThrow(IllegalStateException::new);
jdbcTemplate.update("update member set name = ? where id = ?", updateName, member.getId());
return findByName(updateName).get();
}
- MemberServiceIntegrationTest
@Test
public void 회원_삭제() {
//Given
Member member = new Member();
member.setName("spring");
memberService.join(member);
//When
memberService.deleteMember(member.getName());
//Then
NoSuchElementException e = assertThrows(NoSuchElementException.class,
() -> memberRepository.findByName("spring").get());
// ( 람다식을 실행하면 ) 예외가 발생해야 한다.
}
@Test
public void 회원_수정() {
//Given
Member member = new Member();
member.setName("spring");
memberService.join(member);
//When
Member result = memberService.updateName(member.getName(), "summer");
//Then
Assertions.assertThat(result.getId()).isEqualTo(member.getId());
Assertions.assertThat(result.getName()).isEqualTo("summer");
}
'JavaStudy(open) > 코딩' 카테고리의 다른 글
프로젝트(상품 게시판) 기술 정리 (0) | 2021.10.30 |
---|---|
java - Exercise App miniProject (0) | 2021.08.08 |
java를 이용한 미니 프로젝트 (0) | 2021.07.18 |
지네릭스 기능 이용하여 프로그램 만들기 (0) | 2021.07.04 |
컬렉션 Set 인터페이스 이용하여 장보기 프로그램 만들기 (0) | 2021.06.27 |