0727 학습
✅ MyBatis Mapper 구조 이해
@Mapper 인터페이스 + XML Mapper 분리 구조
- MyBatis 설정 파일에서 경로 지정
mybatis:
mapper-locations: classpath:mappers/**/*.xml
configuration:
map-underscore-to-camel-case: true
✅ Pet CRUD 프로젝트
📦 Entity 클래스
public class Pet {
private Long id;
private String petName;
private int petAge;
private boolean injection;
}
📂 Mapper 인터페이스
@Mapper
public interface PetMapper {
boolean save(Pet pet);
Pet findById(Long id);
List<Pet> findAll();
boolean update(Pet pet);
boolean deleteById(Long id);
int petCount();
}
📄 XML 매핑 예시
<insert id="save">
INSERT INTO tbl_pet (pet_name, pet_age, injection)
VALUES (#{petName}, #{petAge}, #{injection})
</insert>
✅ SQL 조인 (JOIN)
- INNER JOIN, OUTER JOIN, 다중 조인
- Oracle 외부조인:
(+)
예제: 게시물과 댓글 조인
SELECT P.POST_ID, P.CONTENT, C.COMMENT_TEXT
FROM POSTS P
INNER JOIN COMMENTS C ON P.POST_ID = C.POST_ID;
예제: 사용자 - 게시물 - 댓글 조인
SELECT
P.POST_ID,
U.USERNAME,
C.COMMENT_TEXT
FROM POSTS P
INNER JOIN USERS U ON P.USER_ID = U.USER_ID
INNER JOIN COMMENTS C ON P.POST_ID = C.POST_ID;
✅ 요약
- MyBatis를 통한 Mapper 구조 설계 능력 향상
- XML Mapper를 통한 SQL 분리 및 유지 보수 용이성 경험
- 다양한 SQL JOIN 문법과 실습을 통해 관계형 데이터베이스 설계 이해도 증가