MyBatis
- 데이터의 입력, 조회, 수정, 삭제(CRUD)를 보다 편하게 하기 위해 XML로 구조화한 Mapper 설정 파일을 통해 JDBC를 구현한 영속성 매핑 프레임워크
- SQL 쿼리를 XML파일에 작성하여 사용
흐름
동작구조
설정하기
1. 카탈로그 생성
Preferences - XML Catalog → User Specified Entries - Add
(만약 Location이 안보인다면 창 크기를 늘려보기)
2. mybatis-config.xml 생성
경로: src/main/resources
바로 finish 하지 말고 next 하여 Create file using a DTA or XML Schema file → Select XML Catalog entry 선택하여 위에서 만든 카탈로그 선택 후 finish
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd" >
<configuration>
<!-- mybatis 관련 설정 작성 : 순서 중요! -->
<!-- SqlSessionTamplate 관련 설정 -->
<settings>
<setting name="jdbcTypeForNull" value="NULL"/>
<!-- null 값이 있으면 NULL(대문자 주의)을 INSERT or UPDATE -->
<!--
INSERT or UPDATE 진행 시 null이 포함된 경우 Mybatis는 기본적으로 에러를 발생시킨다.
해당 구문이 작성되면 지정된 value로 값을 INSERT or UPDATE 시키는 setting
-->
</settings>
<!-- 별칭 작성 부분 -->
<!-- VO클래스의 패키지명 + 클래스명 모두 작성하는 것이 불편하기 때문에 짧은 별칭 부여 -->
<typeAliases>
</typeAliases>
<!-- SQL이 작성되는 mapper 파일 위치 등록 -->
<mappers>
<mapper resource="/mappers/member-mapper.xml"/>
</mappers>
</configuration>
3. member-mapper.xml 생성
경로: src/main/resources/mappers
✓ mapper 파일 생성 시 반드시 해야하는 것.
- cache-ref 삭제
- mapper 태그에 namespace 속성 추가(namespace: 해당 파일을 쉽게 부르는 이름, DAO에서 사용함)
✓ 수행하려는 SQL에 따라서 태그가 구분된다.(사용 가능한 속성도 다름)
- <select><insert><update><delete>
✓ select 태그의 속성
- id: 구문을 찾기 위해 사용할 namespace 내 구분자
- parameterType: 구문에 전달될 파라미터의 클래스 명이나 별칭
- resultType: 조회 결과가 1행 1열인 경우에만 작성한다.
- resultMap: 사용할 resultMap의 id
- 조회된 데이터의 Java 자료형을 Mybatis 별칭 형태로 작성해야 한다.
[Mybatis 별칭 예시]
Java | Mybatis |
int, double, float, boolean | _int, _double, _float, _boolean |
String, Date, Map, List | string, date, map, list |
'Spring Framework' 카테고리의 다른 글
5. 1행만 조회하기 (0) | 2023.04.25 |
---|---|
3. 파라미터 얻어오기, 화면 전환하기 (0) | 2023.04.24 |
2. DispatcherServlet, logger (0) | 2023.04.22 |
1. Spring Framework란? (0) | 2023.04.22 |