private SqlSession sqlSession;
이 한 줄에 대해 알아보자
sqlSession은 MyBatis에서 DB랑 실제로 소통하는 핵심 객체이다
🍏 SqlSession이 뭐냐
SqlSession은 MyBatis에서 SQL을 실행하는 창구(통로)이다
쉽게 말하면
🔹 JDBC의 Connection + PreparedStatement + ResultSet 역할을
🔹 MyBatis에서는 SqlSession이 대신 해준다
🍏 이 코드 한 줄의 의미
SqlSession 타입의 변수를 클래스 내부에서만 쓰려고 선언해 둔 것이라는 뜻
아직 DB 연결된 건 아니고, 그릇만 만들어진 상태
그래서 저 코드의에 @Autowired 이렇게 어노테이션을 달아주면
🔹 스프링이 자동으로 SqlSession을 주입해줌 (의존성주입)
🔹 내가 new 안해도 됨
🔹 트랜잭션 관리도 자동
🍏 내부적으로 뭘 하냐면
SqlSession이
1. Mapper XML에서 namespace 찾고
2. SQL 읽어오고
3. 파라미터 바인딩하고
4. DB 실행하고
5. 결과를 DTO로 매핑해줌
즉, JDBC를 엄청 간단하게 만들어준다
바인딩이란?
SQL의 자리에 값을 꽂아 넣는 것을 의미한다
'🍏 개발일기' 카테고리의 다른 글
| 노랭이 96P 부터 시작 90번 ~ 100번 (0) | 2026.02.13 |
|---|---|
| DB 파티셔닝(Partitioning)이란? (0) | 2026.02.12 |
| 코드 분석 : 글 1번 클릭했을 때 전체 흐름 (0) | 2026.02.10 |
| 스프링에서의 정적 리소스(static resources) 핸들러 (0) | 2026.02.10 |
| 커넥션 풀(Connection Pool) (0) | 2026.02.08 |