SPRING

[Spring Mybatis] insert, update, delete return을 int로 하는 이유

dbelleloper 2022. 6. 24. 15:37
728x90

현상

insert를 하면 당연히 반환 값이 없기 때문에 return type은  void 이다.

문제없이 작동하지만 편한 기능을 사용하지 못하게 된다

Mybatis에서는 기본적으로 쿼리가 돌고 나면 업데이트 한 행의 개수를 리턴해준다

 

예를 들어, insert 구문을 성공시켜서 1 행의 데이터를 입력했다면 return 1을 반환해준다.

이걸 이용해서 쿼리가 성공적으로 돌았는지 그렇지 않았는지를 판단할 수 있다.

그렇게 되면 후속 작업(자바스크립트를 쓸때 등) 을 할때 도움이 된다.

 

이용

MyBatis 유효성 검사
INSERT 1 ( 다중 insert도 1) null 일 때 cnt = 1로 변경후 cnt == 1
UPDATE update된 행의 갯수 반환(없으면 0) 반환값 cnt로 받고 cnt >  0
DELETE delete된 행의 갯수(없으면 0) 반환값 cnt로 받고 cnt > 0

 

- sql.xml

<insert id="insertPInfo" parameterType="Member">
~
</insert>

<update id="updatePInfo" parameterType="Member">
~		
</update>
       
<delete id="deletePInfo" parameterType="Member">
~
</delete>

 

- mapper.java

int insertPInfo(Member member);

int updatePInfo(Member member
	
int deletePInfo(Member member);

 

- service.java

// insert 
public int insertPInfo(Member member) {
    return practiceMapper.insertPInfo(member);
}

//update 
public int updatePInfo(Member member) {
    return practiceMapper.updatePInfo(member);
}

//삭제
public int deletePInfo(Member member) {
    return practiceMapper.deletePInfo(member);
}

 

-controller.java

 타입 int 로 받기

728x90