Notice
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
Tags
- 이것이 자바다
- 핑퐁로봇
- spring
- transaction
- 알티노
- 서울시여성가족재단
- 2023 ICT R&D 주간
- CSS
- spring boot
- 은평구립도서관
- 드론
- Cos Pro
- 스마트리움
- 초등학생 코딩수업
- 도서관 수업
- 초등학교 코딩수업
- 2024겨울방학 코딩부트캠프
- 코딩수업
- 2024우먼테크위크
- 자율주행자동차
- Spring Security
- html
- 콜백함수
- jsp
- 뚜루뚜루
- 자바
- js
- Java
- 코딩부트캠프
- 초등학생 겨울방학 놀이
Archives
- Today
- Total
블로그
MyBatis의 @Options 어노테이션: useGeneratedKeys 속성 이해하기 본문
개발자 준비과정/Spring, SpringBoot, JSP
MyBatis의 @Options 어노테이션: useGeneratedKeys 속성 이해하기
하늘바람a 2024. 5. 7. 22:31@Options 어노테이션
- MyBatis에서 제공하는 어노테이션
- SQL 실행 시 다양한 옵션을 설정할 수 있다.
MyBatis는 자동으로 생성된 키를 사용하여 데이터베이스의 테이블에 새로운 레코드를 추가할 때 사용할 수 있는 다양한 옵션을 제공한다.
1. `useGeneratedKeys`: 자동 생성된 키를 사용할지 여부를 지정한다.
- `true`로 설정하면 데이터베이스에서 자동 생성된 키 값을 사용한다.
- `false`로 설정하면 애플리케이션에서 직접 키 값을 지정해야 한다.
2. `keyProperty`: 자동 생성된 키 값을 매핑할 자바 객체의 프로퍼티 이름을 지정한다.
- 주로 엔티티 클래스의 ID 필드 이름을 지정한다.
- 예를 들어 `keyProperty="id"`로 설정하면 자동 생성된 키 값이 엔티티 객체의 id 필드에 매핑된다.
3. 예시 코드
@Insert("""
INSERT INTO board (title,content,writer)
VALUES(#{title},#{content},#{writer})
""")
@Options(useGeneratedKeys = true, keyProperty = "id")
int insert(Board board);
'insert` 메서드를 통해 `board` 테이블에 새로운 레코드를 삽입한다.
`@Options` 어노테이션을 통해 자동 생성된 키 값을 `board` 객체의 `id` 프로퍼티에 매핑하도록 설정하였다.
이를 통해, INSERT SQL 실행 시 데이터베이스에서 자동 생성된 키 값을 엔티티 객체의 id 필드에 설정할 수 있다.
4. 주요 적용 사례
이러한 설정은 주로 데이터베이스에서 자동으로 증가하는 기본 키(primary key)를 가진 테이블에 새로운 레코드를 삽입할 때 사용된다.
이를 통해 MyBatis가 자동으로 생성된 키를 객체에 매핑하여 개발자가 직접 생성된 키를 다시 가져오지 않아도 되도록 한다.
'개발자 준비과정 > Spring, SpringBoot, JSP' 카테고리의 다른 글
엔드포인트 (0) | 2024.05.17 |
---|---|
@RequestBody와 @ResponseBody (0) | 2024.05.16 |
Post, Redirect, Get (PRG패턴) (0) | 2024.05.02 |
transaction (0) | 2024.04.30 |
JDBC 작성 (0) | 2024.04.22 |