본문 바로가기
Back-end/Spring

[Spring] ORM : MyBatis 연동

by JiGyeong 2016. 4. 19.

ORM  Object Relating Mapping Framework


객체를 DB랑 Mapping해준다.

그전에는 query의 몇번째 ?에 변수가 들어갈지 정했지만

이제는 VO 변수명을 적어주면 알아서 들어간다.


* 간편한 트랜잭션과 일관된 설정으로 데이터베이스의 접근이 용이하다.

* 커넥션들의 자동 지원으로 복잡한 설정이 따로 필요하지 않다.




주로 MyBatis, iBatis, JPA, Hibernate가 많이 사용되며, 그 중 MyBatis, iBatis의 사용 빈도가 가장 높다.


* 준비사항

- Connection Pool

- My Batis

- Ojdbc6.jar





Transaction : 하나의 업무 작업단위를 모아놓은 것

DB는 트랜잭션이 왜 중요할까?

오류가 났을때 되돌리기 위해서


OOP : 객체지향 프로그래밍

AOP : 관점지향 프로그래밍


이제는 OOP가 아닌 AOP로 접근해보자.


Aspect Oriented Programming

* 공통적으로 적용되는 기능들을 특정 Method 혹은 Class가 실행되기 전/후 등의 단계에서

자동으로 실행될 수 있게 지원하는 프로그래밍 방법.

* Logging, Transaction, Parameter Check 등 여러 기능들을 대상으로 한다.

* 어떨때 뭐하고 어떨때 뭐해라와 같은 방식.






Weaving : 다른 class가 입혀지는 방식 " ( ProceedingJoinPoint (변수명)) throws Throwable "을 공통적으로 써준다.


spring-aop와 aspectjweaver ( aop를 하기위한 java전용 weaver ) 이 두개가 필요하다.

<aop before> 어떤것이 실행되기 전에

<aop after-returning> 어떤것이 리턴되면 -> 정상적으로 실행되면

<aop after-throwing> 예외가 발생했을 때

<aop after> 관점상관 없이 실행된 직후

<aop arround> 시점상관없이 마음대로 해라.  위에 모든 것을 다 아우른다.


이런 시점을 모두 Advisor 라고 부른다.



<arround를 쓴 화면>