MyBatis(SqlSession) - 프로시저 실행시 -1을 리턴하는 이유는?
2023. 2. 23. 11:45ㆍSpring
오늘 업무를 보면서 이상한 현상을 발견하였다.
분명 Transaction은 잘 일어나는데 MyBatis의 SqlSession에서는 -1을 리턴받고 있는것이다.
DB도 잘 저장되고, 서비스 진행에도 문제가 없는데 왜 -1을 리턴하는것일까?
SqlSession은 대개 영향을 받은 행의 개수를 리턴한다고 한다.
그래서 팀원들 모두 -1을 리턴하는것은 오류라고 알고었고, 그게 맞다.
원인은 프로시저였다. 직접적으로 Update문을 작동시키는게 아니라 프로시저를 통해
Update를 작동시키기 때문에 프로시저의 실질적인 리턴은 영향을 받은 행의 개수가 아닌 NULL인것이다.
MyBatis는 NULL을 받기때문에 오류로 인지하고 -1을 리턴하는것이었다.
이러한 문제를 해결하기위해서 프로시저에 리턴값을 입력해주고 실행을 하니 답답한 -1이 사라지게 되었다.
'Spring' 카테고리의 다른 글
WebClient (0) | 2023.05.22 |
---|---|
RestTemplate (0) | 2023.05.22 |
OCP(Open-Close Principle)이란? (0) | 2023.02.20 |
Service와 ServiceImpl을 따로 두는 이유는 뭘까? (0) | 2023.02.20 |
Maven VS Gradle (0) | 2023.02.01 |