봄 부팅 트랜잭션 관리 [봄 부팅 사 학습]

환경
  이클립스 4.7
  은 JDK 1.8
  봄 부팅 1.5.2

A, springboot 통합 업무
담당 카테고리 : 프로그래밍 업무, 선언적인 트랜잭션 (XML, 주석), 주석을 사용하도록 권장되는 방법은, springboot 기본 통합 일 만에 @Transactional와 주요 방법
1, 컨트롤러

패키지 com.wjy.controller; 

수입 org.springframework.beans.factory.annotation.Autowired;
수입 org.springframework.web.bind.annotation.RequestMapping;
수입 org.springframework.web.bind.annotation.RestController; 

수입 com.wjy.test1.service.UserServiceTest1; 


@RestController 
공공  클래스 UserController { 

    @Autowired 
    공공 UserServiceTest1 userServiceTest1; 
    
    (@RequestMapping "/ insertTest1ByService" )
     공공 문자열 insertTest1ByService (문자열 이름, 정수 세) { 
        userServiceTest1.insertuser1 (이름, 나이); 
        반환"성공" ; 
    } 
    
    
}

2, 서비스

/ ** 
 * 
 * / 
패키지 com.wjy.test1.service, 

가져 오기 org.springframework.beans.factory.annotation.Autowired,
 가져 오기 org.springframework.stereotype.Service,
 가져 오기 org.springframework.transaction.annotation.Transactional, 

가져 오기 COM .wjy.test1.dao.UserMapperTest1; 

/ ** 
 * @Desc 
 * @author wangjy15
  * / 
@Service 
공공  클래스 UserServiceTest1 { 
    
    @Autowired 
    개인 UserMapperTest1 userMapperTest1; 
    
    / ** 
     * @description : 어떤 트랜잭션 제어는 오류가 발생한 후 데이터베이스에 삽입하지 않는 경우 데이터는 @Transactional을 롤백 주석을 롤백 할 수 없습니다 곳
     * / 
    @Transactional 
    공공 문자열 insertuser1 (문자열 이름, 정수 세) { 
        userMapperTest1.insert (이름, 나이); 
        int로 I = 1 / 0 ;
        반환 "성공" ; 
    } 

}

 

3 맵퍼

/ ** 
 * 
 * / 
패키지 com.wjy.test1.dao; 

수입 org.apache.ibatis.annotations.Insert;
수입 org.apache.ibatis.annotations.Param;
수입 org.apache.ibatis.annotations.Select; 

수입 com.wjy.entity.User; 

/ ** 
 * @Desc 
 * @author wangjy15
  * / 
공용  인터페이스 UserMapperTest1 { 
    
    @Select는 ( "사용자 SELECT * FROM WHERE NAME = # {이름}" ) 
    사용자 경우 FindByName (@Param ( "이름" ) 문자열 이름); 

    @Insert ( "사용자 (이름, 나이) 값 (# {이름}, # {나이})에 삽입" )
     INT삽입 (@Param ( "이름") 문자열 이름, @ 파람 ( "세" ) 정수 세); 
}

 

4 APP

패키지 com.wjy; 

수입 org.springframework.boot.SpringApplication;
수입 org.springframework.boot.autoconfigure.SpringBootApplication; 

@SpringBootApplication 
공용  클래스 APP { 

    공공  정적  무효 메인 (문자열 []에 args) { 
        SpringApplication.run. (APP 클래스 , 인수); 
    } 

}

5, 테스트 및 인증

에 http : // localhost를 : 8080 / insertTest1ByService 이름 = wangsan0010 및 연령 = 1000

 

두, SpringBoot 분산 트랜잭션 관리
전통적인 프로젝트 : JTA + 자동

 

추천

출처www.cnblogs.com/cac2020/p/11230967.html