Ibatis 다운로드 링크 : https://code.google.com/archive/p/mybatisnet/downloads
다운로드 리스트
1. ConsoleApplication1.7z
2. IBatis.DataMapper.1.6.2.bin.zip
간단한 예시를 위해서 ConsoleApplication1.7z(Ibatis에서 제공하는 샘플코드)를 다운 받습니다. 실 업무에서는 다운 안받으셔도 됩니다.
Ibatis 설정
프로젝트를 생성하게되면 위 이미지와 다르게 빨간색 네모로 표시한 부분들이 없습니다.
프로젝트를 생성 후 참조에 Ibatis를 추가 해주셔야합니다.
Ibatis 관련 파일 참조 추가
확인을 누르게 되면 Ibatis 관련 파일들이 참조로 추가가 됩니다.
iBatis DLL 파일
// 프로젝트 참조에 추가
Castle.DynamicProxy.dll (option)
log4net.dll (option)
IBatisNet.Common
IBatisNet.Common.Logging.Log4Net
IBatisNet.DataMapper
iBatis 설정 파일
//프로젝트 폴더 최상단에 배치
providers.config
SqlMap.config
Config 파일 추가
IBatis.DataMapper.1.6.2.bin.zip을 압축풀면 위 이미지 처럼 파일이 풀립니다.
providers.config
sample.SqlMap.config -> SqlMap.config로 이름 변경(option)
providers.config, SqlMap.config 파일 두개를 복사해서 프로젝트 최상단에 추가 해주시면 됩니다.
1. providers.config
- 데이터 베이스의 드라이버를 설정해주는 파일
- 프로젝트 최상단에 배치
- providers 라는 태그안에 여러개의 provider를 넣어두고 그 중에 하나의 provider를 선택해서 사용하는 방식
- default 속성을 사용하여 기본으로 사용할 provider를 설정
위에 샘플코드는 sqlServer를 기준으로 코드가 작성 되있지만 실제 사용할때는 데이터베이스에 맞는 provider를 추가 해주시면 됩니다.
2. SqlMap.config
- 데이터 베이스의 커넥션 정보가 들어갈 파일
- 프로젝트 폴더 최상단에 배치
<database>
<provider name="sqlServer2.0" />
// 데이터 베이스 정보
<dataSource name="SalesData"
connectionString="Data Source=(local);
Initial Catalog=4.0.0.0.LOCAL.JetsonWebPortal;
Integrated Security=True"/>
</database>
<sqlMaps>
// sqlMap에 포함시킬 mapper(Sql Xml)파일을 추가
<sqlMap embedded="sqlFile.xml, ConsoleApplication1" />
</sqlMaps>
실제 사용 시에는 connectionString 부분에 Local을 데이터 베이스 서버 IP이나 hostname으로 설정 하시면 됩니다.
3. sqlFile.xml
<alias>
// UserModel 객체로 파라미터, 리턴 받고 싶을때 설정
<typeAlias alias="UserModel" type="Common.Models.UserModel" />
</alias>
<statements>
// alias를 설정 안하면 UserModel 패키지 주소를 전부 명시
<statement id="SelUserInfo" parameterClass="UserModel" resultClass="UserModel" >
SELECT *
FROM T_USER_INFO
WHERE User_Id = #Id#
</statement>
</statements>
위 코드는 샘플로 제공하는 쿼리를 제가 사용하는 쿼리로 예시로만 변경하였습니다. 혹시 따라 하고싶으신 분들은 alias는 옵션이기 때문에 사용하셔도되고 안하셔도 됩니다.
꼭 알아둬야 하는 부분
- namespace : VO에서 namespace로 mapper들을 구분
- #변수명# : VO 내부 변수명
사용 예
executeFunction 메서드는 mapper 객체를 생성한 후
mapper.QueryForObject<UserModel>("TestApp.SelUserInfo", new UserModel() { Id = "Test1234"}); 이와 같은 방식으로 쿼리를 실행 합니다.
매개변수 설명
- <> : 리턴 값 ex) int, string, char, UserModel(객체) 등
- 첫번째 매개변수 : Mapper이름.쿼리명
- 두번째 매개변수 : Mapper이름.쿼리에 전달할 파라미터 값
'IT > Ibatis' 카테고리의 다른 글
[Ibatis] <selectKey> 사용 예제 (0) | 2020.10.11 |
---|---|
[Ibatis] Ibatis 사용법 및 예제 (0) | 2020.09.29 |
[Ibatis] Dynamic Query SQL (0) | 2020.09.29 |
[Ibatis] Ibatis(아이바티스) 개념 (0) | 2020.09.28 |