안녕하세요, 코린이의 코딩 학습기 채니 입니다.
개인 포스팅용으로 내용에 오류 및 잘못된 정보가 있을 수 있습니다.
PUT - 모두 수정
Controller
DevRestController
@PutMapping
public ResponseEntity<?> updateDev(@RequestBody Dev dev) {
log.debug("dev = {}", dev);
int result = demoService.updateDev(dev);
Dev updatedDev = demoService.selectOneDev(dev.getNo());
return ResponseEntity.ok().body(updatedDev);
}
@콘솔출력값
DEBUG: com.ce.spring2.demo.controller.DevRestController - dev = Dev(no=42, name=홍길동그라미, career=30, email=hongdong@gmail.com, gender=M, lang=[C, Python, Java], createdAt=null)
아래 데이터로 변경 처리 해보겠습니다.
변경 처리 후 다시 조회하여 리턴한 결과, 잘 변경 된 것을 확인할 수 있습니다.
PATCH - 일부 수정
Controller
DevRestController
@PatchMapping
public ResponseEntity<?> updatePartialDev(@RequestBody Dev dev) {
log.debug("dev = {}", dev);
int result = demoService.updatePartialDev(dev);
Dev updatedDev = demoService.selectOneDev(dev.getNo());
return ResponseEntity.ok().body(updatedDev);
}
Service
DemoService interface 생략
DemoServiceImpl
@Override
public int updatePartialDev(Dev dev) {
return demoDao.updatePartialDev(dev);
}
Dao
DemoDao interface
int updatePartialDev(Dev dev);
demo-mapper.xml
<set>
- set구문의 마지막 , 를 제거
<update id="updatePartialDev">
update
dev
<set>
<if test="name != null and name != ''">
name = #{name},
</if>
<if test="career != null and career != 0">
career = #{career},
</if>
<if test="email != null and email != ''">
email = #{email},
</if>
<if test="gender != null and gender != ''">
gender = #{gender},
</if>
<if test="lang != null">
lang = #{lang}
</if>
</set>
where
no = #{no}
</update>
<set> 태그는 set구문의 마지막 ,를 제거해주어 문법 오류를 방지해줍니다.
아래 데이터로 변경 처리 해보겠습니다.
변경 처리 후 다시 조회하여 리턴한 결과, 잘 변경 된 것을 확인할 수 있습니다.
'Java > Spring' 카테고리의 다른 글
Spring) Builder Pattern - 흐름 파악, @Builder (0) | 2022.09.10 |
---|---|
Spring) Rest API - Delete (0) | 2022.09.07 |
Spring) Rest API - POST (0) | 2022.09.07 |
Spring) Rest API - 개요, GET (java.time 패키지 처리 관련 의존 설정) (0) | 2022.09.06 |
Spring) Ajax - ResponseEntity를 통해 응답 (0) | 2022.09.06 |