목록Development/Mybatis (5)
전지적라온시점
MyBatis에서 자동 생성된 PK값 조회하기 – useGeneratedKeys vs selectKey 완전 정리데이터베이스에 INSERT 쿼리를 실행한 후, 자동 생성된 PK(primary key) 값을 Java 객체로 가져오는 방법은 MyBatis 실무에서 자주 쓰이는 기능입니다. MyBatis에서는 useGeneratedKeys와 selectKey 두 가지 방법으로 이를 지원합니다. 이 글에서는 두 방식의 차이점, 사용법, 주의사항을 예제를 통해 명확히 설명합니다.1. 전제 조건 – PK 자동 생성MyBatis에서 PK를 자동으로 가져오기 위해서는 DB에서 auto_increment 또는 sequence 같은 자동 생성 메커니즘이 설정되어 있어야 합니다. 또한, Java 객체에 해당 필드가 있어야 ..
MyBatis에서 @Mapper 사용법과 주의사항 완벽 정리MyBatis는 @Mapper 어노테이션을 사용하여 인터페이스 기반 SQL 매핑을 지원합니다. Spring Boot 환경에서 @Mapper는 SQL을 호출할 수 있는 인터페이스를 빈으로 등록해주는 중요한 어노테이션입니다. 이 글에서는 @Mapper 사용 방법, @MapperScan 설정, XML 연동 방식, 실무에서 주의할 점을 정리합니다.1. @Mapper란?@Mapper는 MyBatis Mapper 인터페이스를 스프링 빈으로 자동 등록해주는 어노테이션입니다. application.yml의 설정이나 XML 없이도 인터페이스만으로 동작 가능합니다.기본 예제@Mapperpublic interface UserMapper { User select..
MyBatis 동적 SQL 완벽 가이드 – if, choose, foreach 실무 활용법MyBatis는 동적 SQL(Dynamic SQL)을 지원하여 조건에 따라 SQL 구문을 유연하게 생성할 수 있습니다. 이 기능은 검색 조건이 많거나, 쿼리 조건이 상황에 따라 달라지는 경우 실무에서 매우 유용합니다. 이 글에서는 , , 등 핵심 동적 SQL 태그의 사용법과 주의점을 예제 중심으로 정리합니다.1. 동적 SQL이란?실행 시점의 조건에 따라 SQL 쿼리를 동적으로 조립할 수 있는 기능입니다. 기존 JDBC로는 복잡한 분기 처리가 필요했던 부분을 XML 태그로 간단하게 구현할 수 있습니다.2. 태그 – 조건부로 WHERE 절 구성 SELECT * FROM users WHERE 1=1 AND..
MyBatis Mapper XML 완벽 이해 – resultType, parameterType, resultMap 차이 정리MyBatis는 SQL 매핑 중심의 프레임워크로, Mapper XML은 핵심 구성요소입니다. 특히 parameterType, resultType, resultMap은 쿼리와 자바 객체 간의 바인딩을 제어하는 데 필수입니다. 이 글에서는 각 속성의 개념과 차이점, 실무 적용 예제를 통해 완전히 이해할 수 있도록 정리합니다.1. Mapper XML 기본 구조 ...namespace는 Mapper 인터페이스의 FQCN(전체 클래스 경로)과 일치해야 합니다.2. parameterType – SQL에 전달할 파라미터의 타입parameterType은 쿼리에 전달되는 입력값의 자바 타입입니다...
MyBatis 기초 가이드 – 설정부터 첫 쿼리까지 완벽 정리MyBatis는 SQL을 명확하게 제어할 수 있는 Java 기반의 데이터베이스 매퍼 프레임워크입니다. 복잡한 쿼리 작성이 필요한 실무 환경에서 널리 사용되며, JPA보다 더 많은 자유도와 유연성을 제공합니다. 이 글에서는 MyBatis의 설정 구조부터 첫 Select/Insert 쿼리 작성까지 기초적인 흐름을 정리합니다.1. MyBatis란?MyBatis는 Java 객체와 SQL 간의 매핑을 쉽게 해주는 프레임워크입니다. 기존 JDBC의 반복적인 코드 문제를 해결하면서도 SQL 작성의 자유로움을 유지합니다.MyBatis 특징SQL 직접 제어 가능 → 복잡한 쿼리에 적합XML 또는 어노테이션 기반 매핑 지원SQL과 Java 객체 간 명시적 바인딩..