[DB] Transaction 이란?
·
1.프로그래밍/DB
[DB] Transaction 이란? Spring Boot을 공부하면서 @Transactional 선언적 트랜잭션에 대해 공부하고 사용하려고 했다. 그 전에 Transaction에 대한 개념부터 확실히 잡고가고 싶어 찾아보며 공부하고 정리하였다. Spring Boot의 @Transactional 선언적 트랜잭션에 대해서는 이 글 이후에 공부하고 글을 작성하겠다. Transaction 이란? 만약, 어떠한 결제 시스템을 만들었다고 가정을 해보자. 결제 시스템이 아니더라도 동시에 처리되는 시스템을 생각해도 된다 A라는 처리가 진행 된 후 B라는 처리가 진행되어야 된다고 생각을 해보았을 때, 둘다 개발자의 의도대로 진행된다면, 그건 매우 나이스 할것이다. 하지만, 만약의 경우와 사용자가 개발자의 의도에 벗어나..
[Mybatis] 생성한 키(PK) 리턴받기 두가지 방법(selectKey, useGeneratedKeys)
·
1.프로그래밍/DB
[Mybatis] 생성한 키(PK) 리턴받기 두가지 방법(selectKey, useGeneratedKeys) 한 테이블에 insert 할 때 그 PK 값을 Foreign Key로 다른 테이블을 매핑시켜 등록 시키고 싶은 경우가 있다. 예를 들면, 현재 나의 상황처럼 어떠한 상품에 이미지를 등록하는데 그 상품의 PK를 FK로 받아 동시에 DB에 넘겨주고 싶었다. 즉, 그렇게 하려면 생성된 PK를 바로 리턴받아 사용해야 했고 그렇기에 Mybatis의 selectKey, useGeneratedKeys 두 가지 방법을 알게 되었다. 현재 사용하고 있는 DB는 MySql이다. selectKey useGenratedKeys selecyKey selectKey 공식문서 MyBatis has another way to..
[Mybatis] Mybatis #{}, ${} 의 차이 (Mybatis SQLSyntaxErrorException, Unknown column)
·
1.프로그래밍/DB
Mybatis #{}, ${} 차이 공부하던 중 Thymeleaf를 사용하다 보니 무의식 적으로 xml 파일에서 ${} 이런 표현식을 사용하게 되었다. 처음에 위화감을 느끼지 못하고 Junit으로 단위 테스트를 진행했다. 역시나 당연하게 에러가 나게 되고 한참을 해메게 되다가 찾게 되었다. 내가 사용한 xml UPDATE vam_author SET authorName = ${authorName}, nationId = ${nationId}, authorIntro = ${authorIntro}, updateDate = now() WHERE authorId = ${authorId} 단위 테스트 @Test public void authorModifyTest() throws Exception { AuthorVO ..
MyeongDev
'1.프로그래밍/DB' 카테고리의 글 목록 (2 Page)