본문 바로가기
반응형
SMALL

분류 전체보기120

파라미터 전달 방식 (단일값, 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.
MyBatis 설정 파일 구성 (mybatis-config.xml) mybatis-config.xml 개요위치: 일반적으로 src/main/resources 아래에 위치역할: 전역 설정(매핑 방식, 캐시, 로그, 네이밍 전략 등)을 관리주의: Spring Boot 환경에서는 application.yml이 대부분의 설정을 대체하지만, 복잡한 설정이 필요한 경우 여전히 mybatis-config.xml을 병행 사용합니다.기본 구조 예시 --> 주요 요소 설명1. MyBatis의 핵심 동작을 설정xml복사편집 → DB의 user_name → Java의 userName으로 자동 매핑 → 콘솔에 SQL 로그 출력. 다른 옵션: SLF.. 2025. 4. 16.
프로젝트에 MyBatis 추가하기 (Maven/Gradle 설정) 1. Maven 설정 방법pom.xml에 MyBatis 관련 의존성 추가 org.mybatis.spring.boot mybatis-spring-boot-starter 3.0.2 mysql mysql-connector-j 8.0.332. Gradle 설정 방법build.gradle에 다음 코드 추가 // MyBatis + Spring Bootimplementation 'org.mybatis.spring.boot:mybatis-spring-boot-starter:3.0.2'// MySQL 예시implementation 'mysql:mysql-connector-j:8.0.33'3. 기본 설정 파일 추가application.yml 또는 application.properties spring: dat.. 2025. 4. 16.
ORM과 MyBatis의 차이점 ORM vs MyBatis: 핵심 개념 차이 구분 ORM (JPA, Hibernate) MyBatis 정의객체와 관계형 데이터베이스 간의 매핑 자동화SQL을 직접 작성하되, 객체와 결과 매핑을 자동화SQL 제어SQL을 프레임워크가 생성SQL을 개발자가 직접 작성학습 곡선상대적으로 높음비교적 낮음자동화 정도높은 추상화, 자동화 중심개발자 중심의 수동 SQL 관리유지보수도메인 중심 개발에 적합SQL 구조 변경이나 튜닝이 쉬움트랜잭션 처리선언적 처리 위주직접 처리 또는 Spring 연동비유로 쉽게 이해하기ORM은 마법사“필요한 정보를 객체에 담아두면, 알아서 쿼리를 만들어서 처리해줄게!”→ 단, 이 마법사는 고집도 세고 규칙도 많습니다. MyBatis는 비서“네가 쿼리를 주면 내가 그 쿼리 결과를 객체로 ne.. 2025. 4. 16.
LIST