damuri
240
2021-02-04 11:01:22 작성 2021-02-04 11:03:10 수정됨
4
138

mybatis dao 질문입니다. !




저는 이런식으로 serviceImpl 에서 dao 인터페이스로 바로 보낸후 mapper.xml에다가 디비연결을 시켰었는데요! 근데 다른분들보니깐 daoImpl 까지 만들어서 넣더라구요

그 이유가 뭔지도 궁금하고 저런 오픈소스를 보면서 dao 인터페이스까지만 만드는 저에게 주입시키려면 어떻게 해야하는지도 궁금합니다.!! ㅠㅠ

∇∇∇∇ 오픈소스  ∇∇∇∇∇


0
  • 답변 4

  • 컴포지트
    1k
    2021-02-04 11:12:20

    거의 취향이지만, 사내 코드 표준이 있다면 지키는 게 좋겠죠.

    당연히 Mybatis 공식에서는 1번 방법을 추천합니다. 어자피 2번 방법 해봐야 구현체는 아래처럼 그저 파라미터 세팅하고 쿼리 호출하는 부분에서 크게 벗어날 일이 없기 때문이죠. 물론 목적만 맞다면 둘 다 써도 지장 없습니다.

    2번 방법을 쓰는 이유는 보통 아래와 같습니다.

    - iBatis 시절 사용하던 방법이 편하고 익숙하니까

    - 직접 SqlSession 을 통한 수동 컨트롤이 필요할 경우 (배치성 쿼리 등)

    하지만 2번 코드를 봐서는 레거시 패턴을 선호한다는 느낌이군요.

  • damuri
    240
    2021-02-04 11:16:19

    답변감사합니다 ! 제가 알고싶은건 1번방법으로 사용중인데 2번방법의 내용을 적용하려면 어떻게 해야하는지가 궁금합니다 ㅠㅠ

    오픈소스에 메서드안에 리턴값 내용만 빼고 1번씩으로 적으면 동일한 부분인지 궁금합니다

  • 컴포지트
    1k
    2021-02-04 11:17:36

    그냥 1번 방법을 mybatis 가 자동으로 2번 코드 방식으로 만들어준다고 생각하고 대응하면 됩니다.

  • damuri
    240
    2021-02-04 11:20:16

    너무 감사드립니다 제가 알고싶은 대답해주셔서 감사드립니다 마이바티스는 처음써봐서 아직 서툴러서 아는게 많이 없네요 ㅠㅠ

  • 로그인을 하시면 답변을 등록할 수 있습니다.