반응형 SMALL 분류 전체보기120 if, choose, where, trim 태그 사용 1. 태그 – 조건 분기 처리예시: 검색 조건 있을 때만 추가 SELECT * FROM users name = #{name} AND email = #{email} test는 자바 조건식 (!= null, > 0, == 'admin' 등)와 함께 쓰면 자동으로 WHERE 키워드 붙여주고, AND/OR 정리까지 해줘요2. , , – 다중 조건 분기예시: 조건 우선순위 처리 SELECT * FROM users name = #{name} email = #{email} status = 'active' if-else if-else 구조처.. 2025. 4. 17. SQL 재사용 (<sql>, <include>) 핵심 개념 요약 태그 역할 재사용 가능한 SQL 조각 정의해당 SQL 조각을 삽입사용 예시: 컬럼 목록 재사용XML 매퍼 예시 id, name, email, created_at SELECT FROM users WHERE id = #{id} SELECT FROM usersrefid는 같은 XML 파일 안에 있어야 하며, 다른 파일에서 사용하려면 namespace 포함으로 참조해야 해요.고급 예시: 동적 조건도 재사용 가능 AND name = #{name} AND email = #{email} SELECT * FROM users namespace 간 공유 예시common-sql.xml에 공통 SQL 정의user-mapper.xml에서 참.. 2025. 4. 17. 컬렉션 매핑 (collection, association) 핵심 요약 태그 용도 예시 association1:1 관계 매핑주문 안에 사용자 객체collection1:N 관계 매핑사용자 안에 주문 리스트1. – 1:1 관계 매핑예시: Order 안에 User 객체가 포함된 경우SQLSELECT o.id AS order_id, o.order_date, u.id AS user_id, u.name AS user_nameFROM orders oJOIN users u ON o.user_id = u.idresultMap Java 클래스public class Order { private int id; private Date orderDate; private User user;}public class User { .. 2025. 4. 17. 조인 결과 매핑 (1:1, 1:N) 1:1 조인 결과 매핑 (association 사용)예시: Order 객체 안에 User 정보 포함데이터 관계orders 테이블: 주문 정보 (order_id, user_id, order_date)users 테이블: 사용자 정보 (id, name, email)XML: resultMap + association SELECT o.order_id, o.order_date, u.id AS user_id, u.name AS user_name, u.email AS user_email FROM orders o JOIN users u ON o.user_id = u.idJava 객체public class Order { private int orderId; .. 2025. 4. 17. 다중 파라미터 처리 1. @Param 어노테이션 방식 (추천)가장 일반적이고 직관적인 방식입니다.Mapper 인터페이스User selectUser(@Param("name") String name, @Param("email") String email);XML 매퍼 SELECT * FROM users WHERE name = #{name} AND email = #{email} @Param("키")로 지정한 이름을 XML에서 #{키}로 사용할 수 있어요.2. Map을 이용한 방식간단하지만 타입 안정성이 떨어지므로 큰 프로젝트에서는 잘 사용하지 않습니다.Mapper 인터페이스User selectUser(Map paramMap);XML 매퍼 SELECT * FROM users WHERE name = #{name} AND email.. 2025. 4. 17. 결과 매핑 (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. 이전 1 2 3 4 5 6 7 8 ··· 20 다음 LIST