본문 바로가기
반응형
SMALL

Mybatis/기본 매핑과 SQL 작성4

결과 매핑 (resultType, resultMap) 1. resultType: 간단하고 직관적인 결과 매핑설명SQL 결과를 특정 클래스에 자동으로 매핑해주는 방식컬럼명과 자바 객체 필드명이 정확히 일치해야 정상 작동해요XML 예시 SELECT id, name, email FROM users WHERE id = #{id}매핑 대상 클래스public class User { private int id; private String name; private String email; // getter, setter}주의사항DB 컬럼명이 user_name, Java 필드명이 userName일 경우 mapUnderscoreToCamelCase 설정 필요: 간단한 쿼리에는 resultType이 충분합니다!2. resultMap: 복잡한 결과 매핑에 사용하는 방.. 2025. 4. 17.
파라미터 전달 방식 (단일값, Map, DTO) 1. 단일값 파라미터사용 예기본 자료형: int, String, Long 등XML 예시 SELECT * FROM users WHERE id = #{id} Java 인터페이스User selectUserById(int id);#{id}: 파라미터명은 변수명과 같아야 함단일값은 자동으로 매핑됨2. Map 방식 (다중 파라미터)사용 예파라미터가 2개 이상일 때 간단하게 처리 가능동적 조건이나 다이나믹 쿼리에 유용XML 예시 SELECT * FROM users WHERE name = #{name} AND email = #{email}Java 인터페이스User selectUser(Map paramMap);호출 예시Map param = new HashMap();param.put("name", "단비");par.. 2025. 4. 16.
select, insert, update, delete 쿼리 매핑 SELECT 쿼리 매핑XML 매핑 예시 SELECT * FROM users WHERE id = #{id}인터페이스 매핑User selectUserById(int id);#{id}: 파라미터 바인딩resultType: 결과를 매핑할 DTO 클래스INSERT 쿼리 매핑XML 매핑 예시 INSERT INTO users (name, email) VALUES (#{name}, #{email}) 인터페이스 매핑void insertUser(User user);parameterType="User" → user.getName(), user.getEmail() 등 자동 매핑UPDATE 쿼리 매핑XML 매핑 예시 UPDATE users SET name = #{name}, email = #{email} WHERE .. 2025. 4. 16.
매퍼 인터페이스 vs 매퍼 XML Mapper 인터페이스 vs Mapper XML 비교 항목 인터페이스 + XML (전통적인 방식) 인터페이스 + 어노테이션 (간단한 방식) SQL 위치Mapper.xml에 별도 분리@Select, @Insert 등 어노테이션에 작성가독성복잡한 SQL 관리에 유리짧은 SQL에 적합재사용성, 로 SQL 재사용 가능SQL 재사용 어려움유지보수대규모 프로젝트에 적합소규모, 간단한 CRUD에 적합동적 SQL, 등 풍부한 지원매우 제한적사용 난이도구조화 필요 (XML + Interface 필요)빠르고 쉬운 설정구조 예시① Mapper Interface + XML 방식UserMapper.javapublic interface UserMapper { User findUserById(int id);} UserMap.. 2025. 4. 16.
LIST