🍏 개발일기

private SqlSession sqlSession; 에 대해 분석해보았습니다

보배 진 2026. 2. 12. 11:10

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의 자리에 값을 꽂아 넣는 것을 의미한다