Mybatis

채종윤·2023년 8월 29일
0

MyBatis(마이바티스)는 데이터베이스 연동을 보다 효율적으로 처리하기 위해 사용되는 프레임워크입니다. MyBatis는 SQL 매핑과 객체-관계 매핑(ORM)을 간단하게 처리할 수 있도록 도와줍니다


1. SQL매핑

MyBatis를 사용하면 SQL 쿼리를 별도의 XML 파일에 작성하고, 자바 코드와 분리하여 관리할 수 있습니다. 이를 통해 코드의 가독성과 유지 보수성이 향상됩니다.

예를 들어, 사용자 정보를 조회하는 SQL 쿼리를 생각해보겠습니다. MyBatis를 사용하면 아래와 같이 SQL 쿼리를 XML 파일에 작성할 수 있습니다

<mapper namespace="UserMapper">
    <select id="getUserById" resultType="User">
        SELECT * FROM users WHERE id = #{id}
    </select>
</mapper>

자바 코드에선 다음과 같이 쿼리 호출
User user = sqlSession.selectOne("UserMapper.getUserById", 123);


2.객체-관계 매핑(ORM)의 유연성

MyBatis를 통해 데이터베이스 결과를 자바 객체로 매핑할 수 있습니다. 데이터베이스와 자바 객체 간의 매핑을 편리하게 수행할 수 있으며, 복잡한 데이터베이스 스키마와 객체 구조 간의 변환을 처리할 수 있습니다.

CREATE TABLE users (
    id INT PRIMARY KEY,
    name VARCHAR(50),
    email VARCHAR(100)
);
public class User {
    private int id;
    private String name;
    private String email;
    // Getters and setters
}

3.동적 쿼리 생성

MyBatis는 동적으로 SQL 쿼리를 생성하고 실행하는 기능을 제공합니다. 이를 통해 다양한 조건에 따라 쿼리를 유연하게 조작할 수 있습니다.


4.캐시 관리

MyBatis는 결과 데이터의 캐싱을 지원하여 데이터베이스 접근 비용을 줄일 수 있습니다. 반복적인 쿼리 실행을 최소화하여 성능을 향상시킬 수 있습니다.

profile
안녕하세요. 백앤드 개발자를 목표로 하고 있습니다!

0개의 댓글