본문 바로가기

Spring28

[Spring] JDBC 트랜잭션 동기화 트랜잭션이란 데이터베이스에서 자주 사용되는 용어로, 하나의 논리적인 작업 단위를 의미합니다.우리는 지금까지 하나의 쿼리를 하나의 작업단위로 사용해왔습니다. 인서트 1번하는 작업 1개, 업데이트 1번 하는 작업 1개..하지만 어플리케이션의 로직상 쿼리 하나가 작업 하나로 되는 경우만이 있는 것은 아닙니다.간단하게 계좌이체를 예로 들어보면, A가 B에게 계좌이체를 할 때, 작업은 하나지만 쿼리는 최소 2개가 됩니다.A의 잔액을 감소시키기 위해 업데이트 하고, B의 잔액을 증가시키기 위해 업데이트를 하게 됩니다.그런데 만약 A의 잔액을 감소시키고, B의 잔액을 증가시키려는데 갑자기 네트워크 오류와 같은 에러가 발생한다면?A의 잔액은 감소되었지만, B의 잔액은 증가되지 않은... 공중으로 돈이 날라가는 현상이 .. 2019. 3. 25.
[Spring] @Transactional 정리 및 예제 [Spring] @Transactional 정리 및 예제 안녕하세요. 갓대희 입니다. 이번 포스팅은 [ 스프링 어노테이션 @Transactional ] 입니다. : ) 들어가기 앞서...... SI를 할때, 현재 어느 쇼핑몰 운영을 맡으며 개발 소스를 보면 많은 비즈니스 로직이 Controller에 절차지향적으로 짜여져 있는걸 보게 된다. 이런걸 볼때마다 조금씩 business을 하나의 트랜잭션 단위로, Service쪽으로 옮기는 작업을 할 수 있다. 이로 인해 그나마 객체지향적으로 코딩할 수 있고, 재사용 할 수 있음과 동시에 Transaction 단위로도 개발하기 편해진다. 1. 트랜잭션의 성질 ▶ 원자성(Atomicity) - 한 트랜잭션 내에서 실행한 작업들은 하나로 간주한다. 즉, 모두 성공 또.. 2019. 3. 22.
[Spring] hotswap 빠른 생산성을 위해서 재기동 없이 서버 Hot swapping 하는 방법 (IntelliJ & Eclipse) 빠른 생산성을 위해서 재기동 없이 서버 Hot swapping 하는 방법 (IntelliJ & Eclipse)Facebook JetBrains Korea User Grouphttps://www.facebook.com/groups/1821879151380372/새롭게 JetBrains Facebook User Group을 만들었습니다. 많이 오셔서 공유 해요 (source : http://tomselt.files.wordpress.com/2013/05/codeswitching1.jpg?w=1200)PIKICAST 입사 후에 오랫만에 블로깅을 하네요. 정말 블로깅 할 내용들이 많이 있지만 점점 시니어로써 성장 하면서 시간을 내기가 쉽지는 않네요.. 그래도 틈틈히 실무에 도움이 될만한 것들은 공유를 해볼려고 .. 2019. 3. 8.
[Spring] Mybatis 동적 쿼리 사용 중 Parameter를 String으로 넘길때 발생하는 문제 mybatis 로그인 xml에서 파라미터가 string으로 넘어오는 where절만 mybatis문법으로 사용하면 HTTP Status 500 - Request processing failed; nested exception is org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.reflection.ReflectionException: There is no getter for property named 'mbrId' in 'class java.lang.String'위와 같이 에러가 났다. string은 getter방식이 아니라 에러가 난다고 한다.그래서 3번과 같이 value로 넣어주니 알아서 파라미터 값이 변경.. 2019. 3. 5.