728x90 반응형 SMALL Spring공부/2-AOP와 트랜잭션3 트랜잭션처리(2) 게시글을 보면 보통 글의 제목 옆에 댓글의 개수도 나와있다. 이 기능을 구현하면서 트랜잭션처리에 대해 조금 알아가보자 한개의 게시글에 댓글의 수도 포함을 시켜야해서 DB의 테이블을 수정해주자 alter table tbl_board add (replycnt number default 0); 기존에 댓글이 존재했다면 replyCnt에 반영해 주어야 한다. 그래서 아래의 쿼리문을 실행시켜야한다. update tbl_board set replycnt = (select count(rno) from tbl_reply where tbl_reply.bno = tbl_board.bno); 그리고 프로젝트도 수정해주자 DB가 수정되었으므로 BoardVO 클래스와 MyBatis의 SQL, BoardService등을 수정해야.. 2021. 10. 11. 트랜잭션관리(1) 트랜잭션이란? 비즈니스에서는 쪼개질 수 없는 하나의 단위 작업을 말 떄 '트랜잭션'이라는 용어를 쓴다 트랜잭션의 성격을 ACID원칙으로 설명한다. 원자성(Atomicity) 하나의 트랜잭션은 모두 하나의 단위로 처리되어야한다. 어떤 트랜잭션이 A,B로 구성된다면, 항상 A,B의 처리결과는 동일해야한다. A는 성공했지만, B가 실패할 경우 A,B는 원래 상태로 돌아가야한다. 어떤 작업이 잘못되는 경우 모든 것은 다시 원점으로 될오간다. 일관성(Consistency) 트랜잭션이 성고했다면 DB의 모든 데이터는 일관성을 유지해야한다. 트랜잭션으로 처리된 데이터와 일반 데이터 사이에는 전형 차이가 없어야한다. 격리(Isolation) 트랜잭션으로 처리되는 중간에 외부에서의 간섭은 없어야만 한다. 영속성(Dura.. 2021. 10. 11. AOP 기본개요 AOP란? Asepect_Orented Programming 즉, 관점 지향 프로그래밍이라는 의미로 번역되는데, 객체지향에서 특정 비즈니스 로직에 걸림돌이 되는 공통 로직을 제거할 수 있는 방법을 제공한다. AOP를 적용하면 기존의 코드에 첨삭 없이 메서드의 호출 이전 혹은 이후에 필요한 로직을 수행하는 방법을 제공한다. 트랜잭션 작업은 DB를 이용할때 두 개 이상의 작업이 같이 영향을 받는 경우에 필요하다. 과거에는 코드내에 개발자가 직접 이를 지정하고 사용했다면, 스프링에서는 XML이나 어노테이션만으로 트랜잭션이 처리된 결과를 만들어 낼 수 있다. 그런데 이 관점이라는 용어가 현실적으로 와닿지 않기 때문에 어렵게 느껴지고있다. 개발자들에겐 관심사(Concern)이라는 말로 통용된다. -파라미.. 2021. 10. 11. 이전 1 다음 728x90 반응형 LIST