본문 바로가기

ibatis mybatis 차이점 총정리!

인포꿀팁 발행일 : 2023-05-16

mybatis-ibatis-차이점

ibatis와 mybatis는 데이터베이스와 자바 어플리케이션 간 상호작용을 돕는 ORM 프레임워크입니다. 각각의 프레임워크에 대한 개요를 살펴보면서, 이들의 차이점을 자세히 알아보겠습니다.

 

 

mybatis select 태그에 대해 알고 싶다면?

 

mybatis select 태그 정리

매퍼 파일 안에 있는 태그는 데이터베이스로부터 데이터를 조회하는 SQL 쿼리를 정의합니다. 태그의 주요 속성과 사용 방법을 자세히 알려드리겠습니다. mybatis의 mapper.xml 작성법은? [MyBatis] mapper.

back-end-developer.tistory.com

 

mybatis 환경설정 방법이 궁금하다면?

 

[MyBatis] MyBatis 환경설정 세팅

mybatis mapper.xml 작성방법에 대해 궁금하다면? [MyBatis] mapper.xml 작성법 알아보기 MyBatis의 mapper 속성의 특징 - #{필드명} : ?로 치환되고 preparedStatement 객체로 실행 동적인 값을 DB에 저장할때는 반드시

back-end-developer.tistory.com

ibatis란?

ibatis는 Apache Software Foundation(ASF)에 의해 개발된 자바 기반의 ORM 프레임워크입니다. 초기 버전의 프로젝트 이름은 iBATIS였으며, 2010년에 MyBatis로 이름이 변경되었습니다. iBATIS는 XML 기반의 설정 파일과 SQL 매핑을 통해 데이터베이스와의 상호작용을 단순하게 처리할 수 있도록 제공되었습니다.

 

mybatis란?

mybatis는 iBATIS의 후속 버전으로 개발된 ORM 프레임워크입니다. iBATIS의 코드베이스를 기반으로 하면서도 개선과 확장이 이루어졌습니다. mybatis는 iBATIS의 XML 기반 설정 파일을 계승하였으며, XML 네임스페이스와 어노테이션을 활용하여 보다 간결하고 유연한 설정 방식을 제공합니다.

 

ibatis와 mybatis의 차이점

1. 이름: iBATIS에서 MyBatis로 이름이 변경되었습니다.

2. 라이선스: iBATIS는 Apache License 2.0으로 배포되었으며, MyBatis는 자체적으로 제작된 코드로 Apache License 2.0으로 배포됩니다.

3. XML 구성: MyBatis는 좀 더 간결하고 유연한 XML 구성을 제공합니다.

4. 자동 매핑: MyBatis는 자동 매핑(Auto-Mapping) 기능을 지원하여 보다 편리한 객체-데이터베이스 매핑을 제공합니다.

5. 동적 SQL 작성: MyBatis는 <if>, <choose>, <when>, <otherwise> 등의 동적 SQL 태그를 활용하여 동적 SQL 작성을 간편하게 할 수 있습니다.

6. 세션 관리: MyBatis에서는 SqlSession 인터페이스를 사용하여 데이터베이스 세션을 관리합니다. SqlSession은 매핑된 SQL 문을 실행하고 커밋 또는 롤백을 수행하는 데 사용됩니다.\

 

 

아래는 mybatis와 ibatis의 차이를 보여주는 xml 파일입니다.

 

 

ibatis-sqlmap.xml
0.00MB
mybatis-sqlmap.xml
0.00MB

 

 

 

 

위의 예제에서 주요 차이점은 다음과 같습니다:

  1. DTD 및 XML 스키마의 변경:
    • iBATIS에서는 <!DOCTYPE sqlMap ...>을 사용하고, DTD를 통해 문서 유형을 정의합니다.
    • MyBatis에서는 <!DOCTYPE mapper ...>을 사용하고, XML Schema를 통해 문서 유형을 정의합니다.
  2. 태그 이름의 변경:
    • iBATIS에서는 <sqlMap>, <select>, <insert> 등을 사용합니다.
    • MyBatis에서는 <mapper>, <select>, <insert> 등을 사용합니다.
  3. 변수 표현식의 변경:
    • iBATIS에서는 #id#, #username#와 같이 #로 변수를 감싸 사용합니다.
    • MyBatis에서는 #{id}, #{username}와 같이 #{}로 변수를 감싸 사용합니다.

이러한 차이점들은 MyBatis가 iBATIS의 구조를 계승하면서도 몇 가지 편의성과 가독성을 높이기 위해 변경된 사항을 보여줍니다.

 

 

ibatis와 mybatis는 자바 개발자들이 데이터베이스와의 상호작용을 간편하게 처리할 수 있도록 도와주는 ORM 프레임워크입니다. ibatis는 초기 버전의 프로젝트 이름이며, mybatis는 iBATIS의 후속 버전입니다. 이들 간에는 몇 가지 주요한 차이점이 있습니다. MyBatis는 라이선스, XML 구성, 자동 매핑, 동적 SQL 작성, 세션 관리 등의 면에서 발전되었습니다. 개발자들은 각각의 프레임워크의 특징을 고려하여 프로젝트에 적합한 선택을 할 수 있습니다.

'DB > Mybatis' 카테고리의 다른 글

[마이바티스] mybatis # $ 사용법  (0) 2023.05.16
mybatis select 태그 정리  (0) 2023.05.15
[MyBatis] mapper.xml 작성법 알아보기  (0) 2020.12.04
[MyBatis] MyBatis 환경설정 세팅  (0) 2020.12.01

댓글