C# .NET/Mybatis .NET

C#에서 Mybatis사용하기 - (1)

피곤한비버 2019. 12. 3. 18:38

지난번 포스팅은 C# DBConnector 클래스를 작성하여 

DB와 통신하여 Select한 데이터들을 DataGridView에 보여줬습니다.

 

하지만 쿼리문이 아주 단순했고 동적 쿼리를 사용하려면 어떻게 해야하나 생각하다

전자정부프레임워크에서 사용하는 ibatis를 C#에서 사용할 수 있다는걸 알게되어서 테스트해봤고

ibatis에 관한것은 JAVA관련 카테고리에서 포스팅 하고있으니

C#에서는 myBatis로 포스팅을 진행해 볼까합니다.

 

우선 ibatis에 대해 간단하게 설명하자면

SQL문과 프로그래밍 코드를 분리해서 관리하는것이 주목적인 기술입니다.

2010년에 구글코드로 이전함에따라 myBatis라는 이름으로 개명되었고 문법도 조금씩 달라졌습니다.

더 자세한 것은 아래의 링크를 통해 공부해보시면 좋을 듯 합니다. 

너무 설명이 잘 되어있는 글을 찾았기에 해당 글의 URL로 대체하겠습니다.

참고 : https://jonghoit.tistory.com/73

 

 

mybatisnet 다운로드

C# .net에서 사용하는 mybatis는 mybatisnet 이라고 이름이 따로 지어진거 같습니다.

 

아래의 링크로 가셔서 관련 파일을 다운받아주세요.

https://code.google.com/archive/p/mybatisnet/downloads

체크표시된 파일 2개를 받으시면 됩니다.

두 개의 zip 파일 모두 압축해제하면 여러 개의 파일들이 있는데 그 중에 필요한 파일은 아래의 5개입니다.

1.      IBatisNet.Common.dll

2.      IBatisNet.DataMapper.dll

3.      IBatisNet.DataAccess.dll

4.      providers.config

5.      SqlMap.config

 

1, 2, 3 번 파일은 참조를 통해 프로젝트에 등록하고 4, 5번 파일은 그대로 집어넣어 볼건데

저는 지난번 포스팅에 사용했던 프로젝트인 DBConnector_blog에 바로 적용해볼게요.

DBConnector.cs 클래스는 그대로 놔두지만 사용하지 않을거에요. 혹시나 혼란스러워 하실까봐 미리 말씀드립니다.

 

먼저 참조는 솔루션 탐색기에서

프로젝트 우클릭 -> 추가 -> 참조를 누르면 대화상자가 열립니다.

대화상자가 열리면 '찾아보기' 버튼을 눌러서 압축을 풀어놓은 경로에서

1, 2, 3번 파일을 추가하고 확인을 눌러주세요~.

참조는 여기 있습니다.
이렇게 추가해주세요~
이렇게 추가가 되셨나요??

다음으로 4, 5번 파일을 프로젝트에 추가해주겠습니다.

파일을 프로젝트에 끌어다 놓으시면 됩니다.

프로젝트의 최상위 폴더에 추가된 모습

이제 추가한 config 파일들을 설정해 볼겠습니다.

 

1. [providers.config]

파일을 열어보시면 기본적으로 상당히 많은 데이터베이스에 대해서 이미 정의가 다 되어있습니다.

현재 사용하시는 DB에 맞는 provider의 name을 찾아서 enabled값을 true로 바꿔주세요.

쓰지 않을 DB의 provider는 false로 바꿔주셔도 되고 코드를 삭제하셔도 무관합니다.

provider의 name과 사용할 DB 매칭을 나타낸 표
사용할 DB의 privider의 enabled 값을 true로

저는 위와 같이 설정을 해놓고 진행해보겠습니다.

 

2. [SqlMap.config]

파일들의 경로를 저를 따라서 구성하셨다면 

10라인과 23라인의 resource 경로를 똑같이 하시면 경로를 잘 찾아 실행되실 겁니다.

 

경로가 저렇게 되는 이유는 

솔루션 탐색기에서 파란색으로 동그라미 쳐놓은 버튼을 눌러보시면 프로젝트가 구성된 폴더 단위로 볼 수 있을겁니다.

프로젝트 -> bin -> Debug 폴더 안의 exe 파일이 실제 실행 파일인데

현재로서는 실제 실행 파일이 있는 폴더의 상위경로를 2번 올라가야 config 파일들이 있는 위치가 나오기 때문인 것으로 생각됩니다.

이 부분이 왜 경로를 이렇게 타야하는지 정확히 아시는 분이 이 글을 보셨다면 댓글에 정정 부탁드립니다.

 

이 다음 과정은 C#에서 Mybatis사용하기 - (2) 에서 이어가보겠습니다.