
: 자동 매핑 기능을 제공하여 결과 집합을 자동으로 자바 객체로 매핑할 수 있습니다. 개발자는 매핑 규칙을 세부적으로 조정할 수 있습니다.
: 순수한 JDBC 기술을 사용하며, 객체와 데이터베이스 간의 매핑을 개발자가 직접 결과 집합을 자바 객체로 매핑해야 합니다. ResultSet을 반복하면서 필드를 수동으로 설정해야 합니다.
: XML 또는 어노테이션을 통해 SQL 문장을 정의하고, 이를 매퍼 인터페이스에서 호출합니다. 프레임워크가 객체와 데이터베이스 레코드 간의 매핑을 수행합니다.
: SQL 쿼리는 문자열로 작성되며, 개발자는 직접 SQL 문을 작성하고 파라미터를 설정해야 합니다.
: 자동 생성된 키를 처리하는 기능이 내장되어 있습니다. 데이터베이스에서 생성된 키를 MyBatis가 자동으로 객체에 설정해줄 수 있습니다.
: 키 생성 및 관리는 개발자가 직접 처리해야 합니다.
: 내장된 캐시 매커니즘을 사용하여 쿼리 결과를 캐시할 수 있습니다.
: 일반적으로 캐시 관리가 자동으로 제공되지 않습니다.
: 복잡한 쿼리 및 프로시저 호출을 지원하며, 동적 SQL 작성이 용이합니다. <if>, <choose>, <when> 등의 XML 태그를 사용하여 동적인 쿼리를 작성할 수 있습니다.
: 복잡한 쿼리 또는 프로시저 호출을 위해서는 개발자가 직접 JDBC를 사용하여 작성해야 합니다. 동적인 SQL 쿼리를 작성하기 어렵습니다. 복잡한 동적 쿼리를 처리하려면 문자열 조합 등의 방법을 사용해야 합니다.
: 객체와 데이터베이스 간의 ORM을 제공하지 않습니다. 대신에 개발자가 직접 매핑을 정의해야 합니다.
: 순수한 JDBC 기술이므로 객체와 데이터베이스 간의 ORM을 제공하지 않습니다.