JPA

£€€.T.$·2023년 6월 21일
0

save()를 통한 update문 사용하기

Repository

package com.kh.iMMUTABLE.repository;

import com.kh.iMMUTABLE.entity.Qna;
import org.springframework.data.jpa.repository.JpaRepository;


import java.util.List;

public interface QnaRepository extends JpaRepository<Qna, Long> {
    Qna findByQnaId(int qnaId);

}

//QnaRepository

기본 findById는 long문이므로 int를 받을 수 있는 쿼리문을 작성해준다.

Service

@Service
@Transactional
@Slf4j
@RequiredArgsConstructor
public class QnaService {
    private final QnaRepository qnaRepository;

    public boolean upLoadReply(int qnaId,String qnaStatue,String qnaReplay) {
        System.out.println("서비스 : " +  qnaReplay);
        Qna qna = qnaRepository.findByQnaId(qnaId);
        qna.setQnaStatus(QnaStatus.valueOf(qnaStatue));
        qna.setReply(qnaReplay);
        qnaRepository.save(qna);
        return true;
    }
 //QnaService

repository에서 작성한 findByQnaId를 통해 입력받은 id값으로 컬럼을 찾는다.
후에 Setter를 통해 상태 및 내용을 새로 작성하여 .save()를 통하여 저장해준다.

Controller

@RestController
@Slf4j
@CrossOrigin(origins = "http://localhost:3000")
@RequestMapping("/admin")
@RequiredArgsConstructor

 private final QnaService qnaService;
 
  @PostMapping("/qnaUpload")
    public ResponseEntity<Boolean> qnaupload(@RequestBody Map<String, String> qnaData) {
        int qnaId = Integer.parseInt(qnaData.get("qnaId"));
        String qnaStatue= qnaData.get("qnaStatue");
        String qnaReplay = qnaData.get("qnaReplay");
        System.out.println(qnaId);
        System.out.println("컨트롤러 : " + qnaReplay);
        boolean result = qnaService.upLoadReply(qnaId,qnaStatue,qnaReplay);
        return new ResponseEntity<>(result, HttpStatus.OK);
    }
profile
Be {Nice} Be {Kind}

0개의 댓글

관련 채용 정보