Notice
Recent Posts
Recent Comments
Link
민스씨의 일취일장
LogT | Java Spring의 MyBatis에 대해 알게된 모든 내용과 고민들 본문
Programming Language & Framework/JAVA & Spring
LogT | Java Spring의 MyBatis에 대해 알게된 모든 내용과 고민들
읻민스 2023. 2. 9. 22:01반응형
Java Spring MyBatis를 공부하면서 알게된 내용들과 고민들을 시간순으로 기록하는 페이지이다.
MyBatis
공부한 내용
2023-02-09
MyBatis란?
- SQL Mapping 프레임워크이다.
- SQL을 Java 코드에서 분리시켜 XML 파일에 작성하여 Query문과 Java 코드를 명확하게 구분해 관리할 수 있는 장점이 있다.
필요한 Dependency
MyBatis와 MyBatis Spring이 필요하다.
SqlSession
MyBatis를 사요하기 위해서 필요한 것은 결론적으로 SqlSession이다. SqlSession을 생성하기 위해서는 SqlSessionFactory가 먼저 있어야 한다.
SqlSessionFactory | SqlSession을 생성해서 제공 |
SqlSession | SQL 명령을 수행하는데 필요한 메서드들을 제공 Thread-Safe |
* Thread-Safe : 멀티쓰레드에 안전하다. 다시 말해, 여러 쓰레드가 동시에 접근해도 문제없다.
*Mapper.xml
- <typeAliases>
<typeAliases>
<typeAlias alias="UserDto" type="com.ydmins.domain.UserDto"/>
</typeAliases>
실제 이름인 com.ydmins.domain.UserDto를 작성하기가 번거로워서 alias를 이용해 별칭을 만들고 이를 통해서 기능을 사용할 수 있다.
2023-02-13
Dao - DaoImpl - Mapper.xml의 관계
Dao
Dao는 Repository 레이어의 인터페이스이다. 인터페이스를 분리함으로써 다양한 DB에 간편히 대응할 수 있다.
DaoImpl
DaoImpl은 Dao 인터페이스의 구현체이다. 하지만 MyBatis를 활용할 때의 DaoImpl은 Mapper.xml의 메서드에 인자를 전달하고 호출하는 역할을 한다.
Mapper.xml
Mapper.xml은 실제로 DB와 직접적인 네트워킹을 하는 역할을 한다. SQL 쿼리문을 작성할 수 있고 데이터를 입력 또는 가공하여 DaoImpl에게 전달해준다
728x90
반응형