본문 바로가기

SPRING

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

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