ASP.NET2009.04.16 13:55
이번에는 iBATIS.NET 을 붙이는 작업을 한다.
이것도 마찬가지로 시간이 꽤 걸렸다. 자료가 없지는 않지만, 그래도 하나의 프로젝트 이니깐, 설계 부분이 탄탄해야 참고 하는 사람들이 활용폭이 높아질것 같아서, 폴더 트리 부터 네임스페이스 까지 꼼꼼하게 제대로 된 위치로 맞추다 보니 많이 늦어졌다.

iBATIS.NET 은 DataMapper 부분을 사용할건데, 다운받은 파일을 압축을 풀어보면 IBatisNet.DataMapper-bin-1.6.1\IBatisNet.DataMapper-bin-1.6.1\binaries-2.0 이 위치에 관련 파일이 있을것이다.

여기서 우선 Visual Studio 의 인텔리센스 기능을 위해 xsd 파일 세가지(provider.xsd, SqlMap.xsd, SqlMapConfig.xsd)를
Visual Studio 2008 버전일때 C:\Program Files\Microsoft Visual Studio 9.0\Xml\Schemas 위치에 복사해 둔다.

그리고 참조추가는 IBatisNet.DataMapper.dll, IBatisNet.Common.Logging.Log4Net.dll 을 추가 해 둔다.
iBATIS 도 SPRING.NET 과 마찬가지로 로그를 뱉어내기때문에 로그 관련 Logging dll도 같이 추가 한다.

web.config 위치에 아래 링크로 걸려있는 providers.config를 넣자.
 
그리고나서, 같은 위치에 sqlMap.config 파일을 생성해서 다음과 같이 코드를 넣어준다.


connectionString은 자신의 환경에 맞게 첫번째 게시물의 ThreadBoard 테이블이 생성된 곳을 지정하면 된다.
18번줄의 <sqlMap resource="Models/iBATIS/Maps/Board.xml" /> 부분은 iBATIS.NET 이 참조할 테이블과 쿼리가 설정된 파일의 위치이다.

이렇게 config 파일을 설정을 했으면 어플리케이션 폴더 구조를 다시한번 살펴보자.
우선 Business Logic 은 Models 안에서 처리 하기로 해서 그 안에서 비즈니스 로직이 처리가 된다. 또한, 비즈니스 로직의 처리를 iBATIS가 DB와 통신을 하기 때문에 그 안에 iBATIS 라는 폴더를 생성해 두고 거기서 작업을 한다.

Models 폴더만 캡춰를 해 봤다. 이렇게 폴더와 클래스, 인터페이스를 생성 하자.

폴더는 다음처럼 Models 안에 하위 폴더를 만들어 두고, 그 안에 있는 파일을 설명 하면.

Board.xml 파일을 쿼리가 저장되어 있는 파일이다.
BoardListDAO 는 SqlMapBoardListDAO 클래스의 인터페이스 이다.


TBoard 클래스는 테이블과 매핑되는 Value Object 이다.
쿼리 결과를 TBoard에 매핑하여 IList 에 담는 방식이 된다.

소스 내용은 다음 게시물에서...

출근해서 계속 자료찾고 포스팅 하고 있으니.. 눈치주는 사람은 없지만.. 일이 밀려서 일좀 해야겠어요 ㅋㅋ




저작자 표시 비영리 동일 조건 변경 허락
신고
Posted by dotnetpower

티스토리 툴바