-
[ Spring ] 5. MyBatis스타터스 백엔드 3기 2023. 1. 16. 17:18
하루입니다.
블로그 작성 규칙
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문





'스타터스 백엔드 3기' 카테고리의 다른 글
[ Spring ] 6. 파일 업로드 / 다운로드 (0) 2023.01.18 [ Spring ] 6. MyBatis와 Spring 연동 (Spring MVC 방식으로 회원관리 만들기) (0) 2023.01.17 유데미 스타터스 취업 부트캠프 3기 - 백엔드 8주차 (0) 2023.01.13 [ Spring ] 4. 스프링 MVC 기능 (0) 2023.01.12 STS3 자바 프로젝트 생성하면 할 일 (Java, Java Compiler, Java Build Path, Project Facet, Java Installs) (0) 2023.01.12