src/main/resources 위치에 새로운 xml 파일 생성하기



MyBatis의 전체 설정
쉽게 말하면 MyBatis에게 다음 두 가지를 알려주는 파일이에요.
1. Java 클래스 이름을 짧게 부를 수 있게 설정
2. SQL이 적혀 있는 mapper XML 파일 위치를 알려줌
전체 구조는 이렇게 이해하면 됩니다.
mybatis-config.xml
├─ typeAliases
│ └─ Java 객체 별칭 설정
│
└─ mappers
└─ SQL 쿼리문 파일 위치 설정
1. DOCTYPE 부분
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"https://mybatis.org/dtd/mybatis-3-config.dtd">
이 부분은 이 XML 파일이 MyBatis 설정 파일 형식이라는 것을 알려주는 선언입니다.
쉽게 말하면:
이 파일은 MyBatis 설정 규칙에 맞춰 작성된 XML 파일입니다.
라고 알려주는 역할입니다.
MyBatis는 이 선언을 보고 <configuration>, <typeAliases>, <mappers> 같은 태그를 올바르게 해석합니다.
2. configuration
<configuration>
...
</configuration>
configuration은 MyBatis 설정의 가장 바깥쪽 태그입니다.
이 안에 MyBatis 관련 설정을 작성합니다.
configuration = MyBatis 설정 전체를 감싸는 큰 상자
3. typeAliases
<typeAliases>
<typeAlias type="kr.ac.pcu.bookstore.model.Book" alias="Book"/>
</typeAliases>
이 부분은 Java 클래스에 별명을 붙이는 설정입니다.
현재 설정은 이것입니다.
<typeAlias type="kr.ac.pcu.bookstore.model.Book" alias="Book"/>
의미는:
kr.ac.pcu.bookstore.model.Book 클래스를
MyBatis XML에서는 Book이라는 이름으로 짧게 부르겠다.
입니다.
typeAlias는 mapper XML을 더 간단하게 작성하기 위한 설정
4. mappers
<mappers>
<mapper resource="mybatis/book.xml" />
</mappers>
이 부분은 SQL 쿼리문이 작성된 XML 파일의 위치를 MyBatis에게 알려주는 설정입니다.
현재 설정은:
<mapper resource="mybatis/book.xml" />
의미는:
SQL 쿼리문은 mybatis/book.xml 파일 안에 있으니
그 파일을 읽어서 사용해라.
입니다.
보통 이 파일은 이런 위치에 있어야 합니다.
src/main/resources/mybatis/book.xml
왜냐하면 resource="mybatis/book.xml"은 classpath 기준으로 찾기 때문입니다.
즉, 프로젝트 구조가 이렇게 되어 있어야 합니다.
src/main/resources
└─ mybatis
└─ book.xml
5. 전체 흐름
지금까지 작성한 설정들이 연결되는 흐름은 이렇습니다.
Spring 설정 파일
↓
SqlSessionFactoryBean
↓
mybatis-config.xml 읽음
↓
Book 클래스 별칭 등록
↓
mybatis/book.xml mapper 파일 읽음
↓
DAO에서 SQL 실행 가능
즉, 앞에서 작성한 Spring 설정의 이 부분이:
<property name="configLocation" value="classpath:mybatis-config.xml"></property>
바로 지금 작성한 mybatis-config.xml을 읽는 설정입니다.
6. 쉽게 비유하면
mybatis-config.xml은 MyBatis에게 주는 안내문입니다.
Book이라는 이름은 kr.ac.pcu.bookstore.model.Book 클래스를 뜻한다.
SQL 문장은 mybatis/book.xml 파일에 있으니 거기서 찾아라.
즉, MyBatis가 SQL을 실행하기 전에 필요한 기본 정보를 알려주는 파일입니다.
7. 현재 코드 정리본
주석을 조금 더 자연스럽게 정리하면 이렇게 볼 수 있습니다.
<!-- MyBatis 설정 파일 형식 선언 -->
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"https://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<!--
(1) typeAliases
Java 클래스의 전체 경로를 짧은 이름으로 사용할 수 있게 설정
kr.ac.pcu.bookstore.model.Book → Book
-->
<typeAliases>
<typeAlias type="kr.ac.pcu.bookstore.model.Book" alias="Book"/>
</typeAliases>
<!--
(2) mappers
실제 SQL 쿼리문이 작성된 mapper XML 파일 위치 등록
src/main/resources/mybatis/book.xml 파일을 읽음
-->
<mappers>
<mapper resource="mybatis/book.xml"/>
</mappers>
</configuration>
핵심 정리
이 파일은 한마디로:
MyBatis에게 Book 클래스와 SQL mapper 파일 위치를 알려주는 설정 파일
입니다.
각 부분의 역할은:
typeAliases
→ Java 클래스 이름을 짧게 부르기 위한 설정
mappers
→ SQL이 들어 있는 XML 파일 위치를 등록하는 설정
그리고 현재 설정 기준으로 book.xml은 이 위치에 있어야 합니다.

'공부' 카테고리의 다른 글
| STS 3 : 모델 객체 Book class 만들기 (0) | 2026.07.02 |
|---|---|
| STS 3 : mapper 파일 작성(book.xml) (0) | 2026.07.02 |
| STS 3 / root-context.xml 3. 실제로 SQL을 실행하는 객체 (0) | 2026.07.02 |
| STS 3 / root-context.xml 2. MyBatis가 SQL을 사용할 수 있도록 준비하는 공장 (0) | 2026.07.02 |
| STS 3 / root-context.xml 1. Oracle DB 접속 정보와 연결 통로 (0) | 2026.07.02 |