[Spring]Sqlsession 사용 유무 Flow 차이점

David·2021년 1월 11일
0

Spring Framework

목록 보기
2/3
post-thumbnail

기존 Project

Controller -> Service -> Mapper.java -> Mapper.xml
Controller <- Service <- Mapper.java <-

SqlSession 사용 경우

Controller

-> ServiceImpl(Interface implement)
-> DaoImpl(Interface implement)
: return sqlsession.selectList(NameSpace + ".);
-> user.xml
-> DaoImpl
-> ServiceImpl
-> Controller

정리

즉, 기존 Project의 방식은 Mapper.java 클래스 이름을 별도로 지정 및 Mapper.xml을 별도로 계속 생성해줘야 한다.

예시

UserMapper, AccountMapper 등 생성해주고, UserMapper 안에 InsertUser Interface를 생성 필요
그리고 거기에 맞는 mapper의 xml도 생성해줘야 한다.

하지만 sqlsession에는 select 등 이미 다 구현이 되어 있어서, 대규모 프로젝트에는 그것만 사용하도록 강제할 수 있다.

또한 return sqlsession("queryID", VO) 이런 식으로 한다면
query에 맞는 user.xml에 자동적으로 mapping해준다

profile
Programmer

0개의 댓글