본문 바로가기

JAVA/SpringDB2

연속 Insert에 대해 써보려고 한다. 프로젝트를 하다보면 다중 Insert를 생각보다 많이 접하게 된다. (나는 뭐.. 아직 1~2개 상황.. 하지만 요번에 새로 들어가는 프로젝트는 필수로 다중 Insert가 있어야한다.) 효율적인 DB테이블 구조로 인해 입력하는데에 다중 Insert를 해야할때가 많았다. 내가 접해본 대표적인 케이스는 PMS 권한부여이다. PMS 권한부여 - PMS 권한부여를 만들때 MasterAdmin이 기본적으로 설정해놓은 권한 외에 PMS를 관리할 PM이 권한을 만들 수 있는 구조를 만들었다. 그래서 커스텀권한 테이블과 권한설정 테이블로 Insert를 두번이나 했어야 했다. 이때 나는 Mybatis SelectKey를 이용하여 해당 테이블의 Max값을 가지고와서 그 숫자로 Insert했다. 잘 생각해보니깐 나중에 A라.. 2020. 3. 21.
Spring - 트랜잭션관리 오늘은 Spring 트랜잭션에 대해서 쓰려고 한다. 일단 트랜잭션에 대해서 간단하게 정의하자. 트랜잭션이란? 트랜잭션(Transaction)은 데이터베이스의 상태를 변환시키는 하나의 논리적 기능을 수행하기 위한 작업의 단위 또는 한꺼번에 모두 수행되어야 할 일련의 연산들을 의미한다. ACID 원자성(Atomicity), 일관성(Consistency), 고립성(Isolation), 지속성(Durability)의 원칙을 따라야 한다. 을 말한다. 스프링을 사용하면 트랜잭션 관리를 할 수 있고, 간단한 설정만으로 단일 자원과 다중 자원에 대한 트랜잭션을 처리할 수 있다. 스프링은 데이터베이스 연동 기술에 상관없이 동일한 방식으로 트랜잭션 처리를 할 수 있다. 2020. 3. 11.