반응형 SMALL Mybatis/MyBatis + Spring 연동3 트랜잭션 처리 및 예외 관리 1. MyBatis + Spring Boot 트랜잭션 구조MyBatis는 내부적으로 JDBC 기반이기 때문에, 트랜잭션은 Spring의 트랜잭션 매니저에 의해 처리됩니다. MyBatis Starter를 사용하면 아래 구성은 자동으로 설정돼요.spring: datasource: ... transaction: default-timeout: 30s2. 트랜잭션 처리 방법A. 선언적 트랜잭션 (@Transactional)가장 많이 사용되는 방식입니다. Service 계층에서 트랜잭션 범위를 지정할 수 있어요.@Service@RequiredArgsConstructorpublic class UserService { private final UserMapper userMapper; @Tran.. 2025. 4. 17. @MapperScan, @Mapper 어노테이션 사용 핵심 요약 어노테이션 역할 적용 위치 @MapperMapper 인터페이스 개별 등록각 Mapper 인터페이스에 직접@MapperScan지정된 패키지의 Mapper 일괄 등록@SpringBootApplication 클래스 위1. @Mapper 어노테이션 – 인터페이스에 직접 명시예시@Mapperpublic interface UserMapper { User selectUserById(int id);}Spring이 이 인터페이스를 자동으로 Bean 등록해 줍니다.인터페이스 하나하나에 다 붙여야 해서, Mapper가 많은 경우 번거로움이 있어요.2. @MapperScan 어노테이션 – 패키지 단위로 한 번에 처리예시@SpringBootApplication@MapperScan("com.example.proj.. 2025. 4. 17. Spring Boot에서 MyBatis 설정하기 1. 프로젝트 구조 및 의존성Gradle 사용 시 (build.gradle)dependencies { implementation 'org.mybatis.spring.boot:mybatis-spring-boot-starter:3.0.2' implementation 'mysql:mysql-connector-j:8.0.33'}Maven 사용 시 (pom.xml) org.mybatis.spring.boot mybatis-spring-boot-starter 3.0.2 mysql mysql-connector-j 8.0.33 2. application.yml 또는 .properties 설정application.yml 예시spring: datasource: .. 2025. 4. 17. 이전 1 다음 LIST