Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- github
- F-Lab
- 백엔드
- nGrinder
- Spring
- FLAB
- 성능테스트
- 트러블슈팅
- 에프랩
- 로드밸런서
- EC2
- 부트캠프
- 레디스
- 데이터구조
- 코딩테스트
- 도커
- backend
- redis
- 후기
- MySQL
- 자바
- java
- 플러터
- 알고리즘
- 자바백엔드
- grafana
- error
- AWS
- 멘토링
- Flutter
Archives
- Today
- Total
민스씨의 일취일장
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
반응형