본문 바로가기
📚Framework & Library/MyBatis

[MyBatis] MyBatis란

by inbeom 2023. 9. 8.
728x90

💡 MyBatis 란?

객체 지향 언어인 자바의 관계형 데이터베이스 프로그래밍을 좀 더 쉽게 할 수 있게 도와 주는 개발 프레임 워크이다.

객체 지향 언어인 자바의 관계형 데이터베이스 프로그래밍을 좀 더 쉽게 할 수 있게 도와 주는 개발 프레임 워크이다.

 

💡 특징

  • 복잡한 쿼리나 다이나믹한 쿼리에 강하다 - 반대로 비슷한 쿼리는 남발하게 되는 단점이 있다.
  • 프로그램 코드와 SQL 쿼리의 분리로 코드의 간결성 및 유지보수성 향상
  • resultType, resultClass등 Vo를 사용하지 않고 조회결과를 사용자 정의 DTO, MAP 등으로 맵핑하여 사용 할 수 있다.
  • 빠른 개발이 가능하여 생산성이 향상된다.

 

💡 스프링에 MyBatis 연동!

1. Mybatis 라이브러리 추가 (pom.xml) - version확인!

2. SQL SessionFactory 설정 (root-context.xml)

  • SQL SessionFactory는 내부적으로 SQL Session을 생성하며, 개발에서는 SQL Session을 통해 Connection을 생성하거나 원하는 SQL을 전달하고 결과를 리턴받는 구조.

 

3. sqlSessionFactoryBean을 이용하여 SqlSession을 생성 테스트

 

4. XML Mapper

  • Mapper는 쉽게 말해 SQL과 그에 대한 처리를 지정하는 역할을 합니다.

 

5. Mapper Test

 

 

Dynamic Query 예시

<select id="getTest" resultType="board">

SELECT * FROM board

<where>
<if test="id != null">AND id = #{id} </if>
<if test="subject != null">AND subject = #{subject} </if>
</where>

</select>

 

 

728x90