ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [ 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문


     

Designed by Tistory.