본문 바로가기
Programing/myBatis

MyBatis 정리

by june._.note 2016. 9. 23.

오픈소스이며 Java쪽에서는 많이 사용되고 있고, .NET진영에서도 사용하려는 노력중이라고함.

 

오픈 소스인 iBatis가 구글 코드로 옮기면서 MyBatis로 명칭이 바뀌었음. (Mybatis는 ibatis의 .NET 버전으로 Data Mapper 프레임워크라고 함)

 

 

 

객체 지향 응용프로그램과 관계형 데이터베이스에서 데이터 매퍼를 쉽게 제공함으로 응용프로그램에서 코드량을 줄이고,

 

xml을 쿼리를 작성함으로 관리 측면에서 용이성을 제공함 (해당 이유 때문에 사용하려고 다시 찾아보며 공부 중)

 

SQL을 매핑하여 데이터 결과를 반환하기 떄문에 Data Mapper Framework라고 불리며 구성도는 아래와 같음.

 

flow.png

 

SQL을 매핑함으로서 데이터베이스와 객체 사이에 제약이 따리즈 않는다는 점도 메리트.

 

 

  1. MyBatis.NET은 프로그래밍 코드로부터 SQL 코드를 분리함.
  2. 입력 파라메터를 라이브러리 클래스로 전달하고 출력함
  3. 비지니스 로직 클래스로부터 데이터 액세스 클래스를 분리함.
  4. 자주 사용되는 데이터를 캐싱함.
  5. 트랜잭션과 스레딩 관리가 가능함.

 

프로젝트 참조 파일로는

  1. IBatisNet.Common.dll
    DataAccess와 DataMapper 클래스에서 공유되는 공용 클래스들.
  2. IBatisNet.DataMapper.dll
    DataMapper 프레임워크로 실제 객체 매핑과 결과값 반환시 사용되는 객체
  3. IBatisNet.DataAccess.dll
    DataAccess 객체 프레임워크로 DAO 작업시 사용됨.
  4. providers.config
    MyBatis에서 지원하는 Database Provider들을 정의 해놓은 파일.
  5. SqlMap.config
    DataMapper 설정 파일. 연결 대상인 Database 기본 정보나 객체 매핑이 정의된 xml파일 링크 정보를 정의해주는 파일.

 

 

.NetFramework에 MyBatis 적용하기 (http://ibatisnet.sourceforge.net/DevGuide/ar01s05.html)

 

  1. dll 파일을 참조 및 config 파일

    14_04.jpg
  2. providers.config 파일에서 사용될 DBMS Provider만 enable 시킴.
  3. SqlMap.config 파일에서 연결 설정
    (참조 : http://softworld.tistory.com/98)
    ** 추가한 config 파일의 속성에서 빌드시 포함 리소스로 해주어야함.
    ** 경로는 실행프로젝트의 Root가 기준이 되므로, 다른 프로젝트 경로에 있는 SqlMap이나 Provider.config등을 읽어오기 위해서는
        경로설정에 유의해 주어야 함.
  4. SQL 구문이 작성된 xml 파일 설정
    (참조 : http://hyeonstorage.tistory.com/279)
    ** <statement> 태그는 인식을 못하는지 에러가 발생. <statements>로 작성하니 제대로 작동됨.
  5. Mapper를 통해 SQL구문을 선택하여 실행하고 설정한 Type대로 return받으면 됨.

 

 

2016.09.23 최초작성 참고 사이트(http://www.sqler.com/401700)