카테고리

분류 전체보기 (510)
문학 (128)
찬양 콘티(Continuity) (80)
Business as heritage (6)
IT . Web (149)
Photo (127)
etc. (20)
Total359,987
Today16
Yesterday99
*20121219 국치가 회복될 사건이 올 때까지 블로그 양쪽은 조의를 표하는 검정색입니다.
Tistory 로고 이미지 티스토리 가입하기!









블로그 이미지


즐겨보는 월간 마소의 '09 5월호 Step by Step iBATIS 편을 읽은 지 좀 되었는데,
드디어 오늘 저녁에 학습, 배포된 파일을 기존 프로젝트에 추가, 핵심 페이지 샘플 리팩터링 시도까지 3시간 가량 소모하고 나서 즐거운 마음에 추천 글을 남기려 합니다.

코드 예제는 위 링크를 들려서 내려받을 수 있는 매뉴얼에도 잘 나타나 있을 것 같고, 월간 마소나 별도 출간된 서적들이 있기에 넘어 가구요, 실무자 입장에서 직접 적용해보고 느낀 점을 나누고 싶습니다. - 저는 ASP.NET에 IBatisNet을 추가했습니다. 자바는 물론 루비/레일즈 버전도 있습니다.

프로젝트에 적용 후 나아진 부분)
  1. SQL 쿼리 문의 관리효율 향상
    1. SQL 문이 xml 파일에 별도 관리되어, 애플리케이션 내에서 사용하는 쿼리 문이 변경되어도C# 코드가 수정되어 재컴파일되거나, 다시 소스 코드 저장소에 커밋되어야 하는 상황이 줄어듭니다.
    2. 1번과 마찬가지의 이유로, SQL 문을 한 곳에서 일목요연하게 볼 수 있어 효과적인 관리를 돕습니다.
    3. 충실한 스키마를 지원하여 xml 엘리먼트로 SQL 문 안에서도 where 절 관리 등을 실용적으로 할 수 있습니다.

  2. C# 코드(모델)와의 자동맵핑 제공
    1. xml에 작성된 쿼리를 담고 있는 엘리먼트에서 쿼리결과가 맵핑될 모델을 어트리뷰트로 선언하면, 실제 모델 클래스에는 필드 타입과 기본적인 { get; set; } 선언만해줘도 실제 동작 시점에서 iBATIS가 알아서 맵핑해줍니다. 물론 모델 클래스 작성 시 데이터베이스의 컬럼형에 해당하는 정확한 자료형을 필드 타입으로 선언해줄 필요는 있습니다. - 그래도 극단적으로 int.Parse(dt[0]["i-phone-or-google-phone"].ToString()) 이런 식으로 하나하나 설정하는 작업에 비하면 수고도 아닌 것 같습니다.

  3. 그 외 데이터제공자 관리 편의성 제공 등
    1. 좀 더 꼼꼼히 공부해 볼수록 더 찾을 수 있을 것 같습니다.
ASP.NET MVC, Spring.NET이나 Struts 같은 MVC 콘트롤러 중심으로 다양한 모양으로 플랫폼 기반을 강화해주는 프레임워크는 고려해봤지만, 이렇게 DB 맵핑에 초점을 맞춘 편리한 프레임워크를 손쉽게 레거시에 적용해볼 수 있어서 재밌었을 뿐 아니라 앞으로 쭉 활용할 만한 가치를 느껴서 기쁩니다.

이 프레임워크의 존재를 제일 먼저 제 귀에 꽂아준 Lee에게 또 고마움을 표해야겠습니다.
저작자 표시
신고
Posted by One of Remnants

댓글을 달아 주세요

달력

« » 2017.11
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30    

최근에 받은 트랙백

글 보관함