A 테이블에 insert 후 해당 pk로 -> B 테이블 fk로 insert 해야 하는 경우
Insert 후 Select 하는 방법은 비효율적이라고 생각
방법
- useGenerateKeys : "true"시 자동으로 생성한 키 값 반환
- keyProperty : 리턴된 키를 어느 필드에 set 할건지
예시
- insertUser 후 pk 값인 userSn을 리턴 받는다
<insert id="insertUser" parameterType="UserVO" useGeneratedKeys="true" keyProperty="userSn">
INSERT INTO tb_user(
user_id,
user_nm,
user_mphon_no
) VALUES (
'hong123',
'홍길동',
'01012345678'
)
</insert>
- UserDAO
@Mapper
public interface UserDAO {
int insertUser(UserVO userVO);
}
- UserVO
package com.test.user.vo;
public class UserVO {
private Integer userSn;
private String userId;
private Integer userNm;
private String userMphonNo;
public Integer getUserSn() {return userSn;}
public String getUserId() {return userId;}
public void setUserId(String userId) {this.userId = userId;}
public Integer getUserNm() {return userNm;}
public void setUserNm(Integer userNm) {this.userNm = userNm;}
public String getUserMphonNo() {return userMphonNo;}
public void setUserMphonNo(String userMphonNo) {this.userMphonNo = userMphonNo;}
}
mybatis Query 성공 시 기본 리턴 값
- Select : Select문에 해당하는 결과
- Insert : 1 (다중 Insert 1)
- Update : Update 된 행의 개수(없으면 0)
- Delete : Delete 된 행의 개수(없으면 0)
'Programming > Back-End' 카테고리의 다른 글
[Java/자바] JWT 토큰 발급 및 JWT/JWK 검증 처리 방법 정리 (1) | 2023.09.01 |
---|---|
[SpringBoot] Embedded Tomcat의 catalina.jar (0) | 2023.09.01 |
[Java/자바] URLencode와 Base64url 차이점 (0) | 2023.08.30 |
[Java/자바] 한글 문자열 URL 인코딩(encode)/디코딩(decode) 하기 (35) | 2023.08.30 |
[Java/자바] RSA 공개키(publicKey)/개인키(privateKey) 생성 및 파일 추출 (34) | 2023.08.25 |