db 4

DB 락 - 변경 / 조회

DB 락 - 변경 기본 데이터 입력 - SQL set autocommit true; delete from member; insert into member(member_id, money) values ('memberA',10000); 변경과 락 세션1 set autocommit false; update member set money=500 where member_id = 'memberA'; 세션1이 트랜잭션을 시작하고, memberA 의 데이터를 500원으로 업데이트 했다. 아직 커밋은 하지 않았다. memberA 로우의 락은 세션1이 가지게 된다. 세션2 SET LOCK_TIMEOUT 60000; set autocommit false; update member set money=1000 where mem..

Spring/SpringDB 2022.06.15

프로젝트 환경설정 - JPA와 DB 설정, 동작확인

참고: 스프링부트를 통해 복잡한 설정이 다 자동화되었다. persistence.xml 도없고, LocalContainerEntityManagerFactoryBean 도 없다. 스프링 부트를 통한 추가 설정은 스프링 부트 메뉴얼을 참고하고, 스프링 부트를 사용하지 않고 순수 스프링과 JPA 설정 방법은 자바 ORM 표준 JPA 프로그래밍 책을 참고하자. application.properties파일을 지우고 application.yml파일을 생성해준다. 세팅을 한번 해주자. // application.yml spring: datasource: url: jdbc:h2:tcp://localhost/~/jpashop #4칸 // MBCC=TRUE라는 옵션은 빼준다. username: sa password: dri..

Spring/SpringBoot 2022.03.30

JPA와 DB 설정, 동작확인 - 테스트 실행 오류

아래 Test Code를 실행하려고 하니까 에러발생 해결중 // MemberRepositoryTest package jpabook.jpashop; import org.assertj.core.api.Assertions; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.annotation.Rollback; import org.springframework.test.context.jun..

Spring/SpringBoot 2022.03.29

스프링 DB 접근 기술 - 스프링 데이터 JPA error

각 파일에 clearStore 부분을 없애준다. // MemberRepository interface(src - repository폴더) package hello.hellospring.repository; import hello.hellospring.domain.Member; import java.util.List; import java.util.Optional; public interface MemberRepository { Member save(Member member); Optional findById(Long id); Optional findByName(String name); List findAll(); } // JpaMemberRepository package hello.hellospring...

Spring/SpringCore 2022.03.23