본문 바로가기
  • Adillete
【Spring】

[RestAPI] update와 select를 구분하자

by 아딜렛 2025. 9. 1.

select: 조회(조건 하나 -> 결과는 여러개)
```xml
<select parameterType="int " resultType="Board">
-- int 하나로 board 객체 전부를 반환
```

update (수정) (데이터 여러개-> 수정)
```
<update parameterType="Board">
--Board 객체 전체를 받아서 수정작업만 수행
```

왜 update는 Board를 파라미터로 받지?

수정할 제목, 수정할 내용, 조건으로 쓸 번호 등 여러 필드값이 필요하기 때문이다.
update문에 resultType이 없는이유 :
update문은 데이터를 반환하지 않는다.
몇개 행이 수정되었는지만 알려준다.

 

 

  public int modify(Board board){ //반영된 행 개수를 받으려고
    int rows = boardDao.update(board);
    return rows;
  }

 

1. 왜 bno만 부르면 안되지?

bno를 조건으로 다 불러야...

bno만 부르면 수정을 못해

 

bno는 어떤 게시글을 수정할지 알려주는 조건으로 나머지 무엇으로 수정할지를 알려주는 새로운 데이터 필요

Board 객체 전체가 필요

2. 

Board board= boardDao.update(bno);//는 왜 안되지?

 

BoardDao의 update메소드를 보면 반환타입이 int로 되어있다.

@Mapper
public interface BoardDao {
    (중략)
	public int update(Board board);
   }

왜 int를 반환하나? 

입력: 수정할 데이터 Board board

출력: int (수정된 행의 개수)