[ Spring ] 5. MyBatis
하루입니다.
블로그 작성 규칙
1. 매 시간 배운 내용은 가급적 쉬는시간에 모두 정리하도록 한다.
2. 만약 배운 내용을 모두 정리하지 못했을 경우, 7시 이내로 정리를 마친다.
3. 기록보단 실습에 집중하자.

pom.xml에 mariaDB, mybatis 라이브러리 추가
- mybatis를 사용해 mariadb에 연동하기 위해 사용한다.
- first - mybatis 위치 경로

mybatis mapping 하는 법
1. db 연결정보설정파일.xml 만들기
2. sql-mapping.xml 파일 만들기
<select id="a" paramaterType="String" resultType="MemberDto">
select * from member where id = #{b}
</select>
3. Main에서 할일 : db 연결정보설정파일.xml 읽어오기 ==> SqlSession 객체 생성하기
: MemberDto dto = SqlSession객체.selectOne("a", "mariadb");
4. 이 방식으로 service - dao - dto 연결한다.
db연결정보설정파일.xml 만들기
1. mybatis 패키지 생성
2. mybatis-config.xml 파일 생성
3. datasource 설정(연결할 데이터베이스에 대한 설정), sql매핑설정파일.xml (mapper파일)설정하기
datasource 설정(연결할 데이터베이스에 대한 설정)

sql매핑설정파일.xml (mapper파일)설정하기

4. main(controller) 생성

5. 결과 출력

service - dao - dto (List를 반환하는 경우)
- dao에게 일을 시키는 기능 단위가 service이다.
![]() |
![]() |
![]() |
![]() |
service - dao - dto (int를 반환하는 경우)
MemberMain |
![]() |
![]() |
![]() |
![]() |
![]() |
service - dao - dto (입력파라미터를 받으며, 하나의 dto를 반환하는 경우)
MemberMain![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
service - dao - dto (입력파라미터배열을 받으며, 페이징처리하는 경우)


MemberMain![]() |
![]() |
![]() |
![]() |
![]() |
<typeAlias> 주기 : mybatis-config.xml에서 설정한다.


insert하기
!!! mybatis는 수동 커밋! factory.openSession(true) 로 설정하면 된다 !!!

![]() |
![]() |
![]() |
![]() |
![]() |
update / delete하기
![]() |
![]() |
![]() |
![]() |
![]() |
mybatis에서 map 형태 데이터 받아오기 (검색)
- HashMap에 colname과 colvalue를 map.put() 한다.
- mapper.xml에서 ${colname}과 #{colvalue}로 받는다.
![]() |
![]() |
![]() |
![]() |
![]() |
MyBatis에서 list 사용해서 where in (, , ,) 조회하기
- open, close, seperate, collection, item 사용
![]() |
![]() |
![]() |
![]() |
![]() |
where choose when / list를 사용한 동적 검색 쿼리문
![]() |
![]() |
![]() |
![]() |
![]() |
이렇게 name만 있는 경우라면?![]() |
![]() |
resultMap을 사용한 join문
![]() |
![]() |
![]() |
![]() |
![]() |





















































