Entity Framework, ORM Tip과 강좌 게시판
MyBatis.NET CRUD(1)
MyBatis.NET의 아주 기본적인 작업에 대해서 살펴보려합니다.^^ 프로젝트를 생성하고 데이터를 조회하는데 객체 매핑을 어떻게 하는지 확인 하실 수 있습니다. 실전으로 고고!고!!
프로젝트 생성
우선 간단한 CRUD를 확인하는 작업이기에 응용프로그램을 다음과 같이
디자인 해보겠습니다.
[그림 14-1] UI 구성
초기 작업
Data Mapper작업을 위해서 초기에 설정해줘야하는 작업들이 있습니다. 앞세션에서 관련된 파일들을 언급했었는데요. 해당 파일들이 어떤 역할들을
하는지 살펴보겠습니다. MyBatis.Net 사이트에서 다운 받은 파일 중에 IBatisNet.Common.dll과 IBatisNet.DataMapper.dll을
해당 프로젝트에 참조해주세요.
[그림 14-2] dll 참조
\IBatis.DataMapper.1.6.2.bin\Ibatis.DataMapper.1.6.2.bin
폴더에 아래 config 파일이
존재합니다. 프로젝트에 추가해주세요. 새로 만들어도 되지만 xml로 작성되기때문에 오류률을 줄이기위해 가져다 편집을 하는 방법을 선택하겠습니다.
[그림 14-3] config 파일
참조
여기까지 진행하셨다면 다음과 같이 프로젝트가 구성됩니다.
[그림 14-4] 프로젝트
구성
Config 파일 설정
providers.config 파일 내용을 확인하면 많은 DBMS
Provider가 정의되어 있습니다. 저희가 사용하는 Provider는
“sqlServer2.0”입니다. 다른 Provider는 enabled="false" 해주시고 “sqlServer2.0”는 는 enabled="true"로 설정해주세요.
|
<provider name="OleDb1.1"
description="OleDb, provider
V1.0.5000.0 in framework .NET V1.1"
enabled="true"
assemblyName="System.Data,
Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" connectionClass="System.Data.OleDb.OleDbConnection"
commandClass="System.Data.OleDb.OleDbCommand"
parameterClass="System.Data.OleDb.OleDbParameter"
parameterDbTypeClass="System.Data.OleDb.OleDbType"
parameterDbTypeProperty="OleDbType"
dataAdapterClass="System.Data.OleDb.OleDbDataAdapter"
commandBuilderClass="System.Data.OleDb.OleDbCommandBuilder"
usePositionalParameters="true"
useParameterPrefixInSql="false"
useParameterPrefixInParameter="false"
parameterPrefix="" allowMARS="false" /> |
다음은 SqlMap.config 파일입니다. 데이터베이스 연결 영역에 다음과 같이 DB 연결설정을 해주세요. 수동으로 작업하고있자니 기존에 자동생성했던 기억에 서글퍼지네요 ㅠㅠ.
|
<!-- Database connection information --> <database> <provider name="sqlServer2.0"/> <dataSource name="Northwind" connectionString="Data Source=JISEON;Initial Catalog=Northwind;Integrated
Security=True;"/> </database> |
데이터 조회
기본 설정이 마무리 되었으니 이제부터 데이터를 한번 조회해보겠습니다.
MyBatis는 쿼리와 결과 데이터의 매퍼 역할을 하는 프레임워크입니다. 그래서 단순히
매퍼 역할만하게되는데요. 그 부분을 xml로 정의합니다. Northwind 데이터베이스에서 Shippers 테이블을 조회할건데요. 프로젝트에 매퍼 역할을 하는 Shippers.xml 파일을 생성해주세요. 또한 응용프로그램에서 용이하게 사용하는 Shippers의 엔티티를
Shippers.cs로 구성해보겠습니다.
Shippers.cs는 다음과 같이 작성해주세요.
|
public class Shippers { public
int ShipperID { get;
set; } public
string CompanyName { get;
set; } public
string Phone { get;
set; } } |
다음은 Shippers.xml 내용을 확인해보죠!! Select statement를 다음과 같이 작성해주면 됩니다.
|
<?xml version="1.0" encoding="utf-8" ?> <sqlMap namespace="EF4._14" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://ibatis.apache.org/mapping"> <alias> <typeAlias alias="Shippers" type="EF4._14.Shippers" /> </alias> <statements> <select id="SelectShippers" resultClass="Shippers"> select
* from Shippers </select> </statements> </sqlMap> |
UI에 다음 네임스페이스를 추가해주시고요.
|
using IBatisNet.Common; using IBatisNet.DataMapper; |
조회 버튼을 클릭해서 데이터를 조회해보겠습니다. Mapper 객체를
통해서 데이터를 조회하여 결과값을 리턴합니다.
|
private
void btnSelect_Click(object
sender, EventArgs e) { try { IList<Shippers> list = Mapper.Instance().QueryForList<Shippers>("SelectShippers",
null); dataGridView1.DataSource =
list; } catch
(Exception ex) { MessageBox.Show(ex.ToString()); } } |
조회된 화면입니다. 조회를 한번하기위해 긴여정을 걸쳤습니다. 그래도 MyBatis를 사용하는 장점이 뭔가 있겠죠?! 다음편에서 그 진실을 파헤져보겠습니다.
[그림 14-5] 조회
결과 화면
Tip!
- 배포시 Bin 폴더에 config 파일과 xml파일이 같이 반영되어야 합니다.
Entity Framework, MyBatis.NET, NHibernate 강좌 리스트
[Entity Framework 강좌] 01. Entity Framework 들어가기
[Entity Framework 강좌] 02. Entity Framework 4.0 기능 살펴보기
[Entity Framework 강좌] 03. LINQ 알고가자
[Entity Framework 강좌] 04. Database-First VS Model-First
[Entity Framework 강좌] 05. Entity Framework Context
[Entity Framework 강좌] 06. Entity Framework - Entity CRUD
[Entity Framework 강좌] 07. Entity Framework - Entity Stored Procedure 활용(1)
[Entity Framework 강좌] 08. Entity Framework - Entity Stored Procedure 활용(2)
[Entity Framework 강좌] 09. Entity Framework – ASP.NET MVC(1)
[Entity Framework 강좌] 10. Entity Framework – ASP.NET MVC(2)
[Entity Framework 강좌] 11. Entity Framework – ASP.NET MVC(3)
[MyBatis강좌] 12. MyBatis.Net 들어가기
[MyBatis강좌] 13. MyBatis.NET 기본 및 환경 설정
[MyBatis강좌] 14. MyBatis.NET CRUD(1)
[MyBatis강좌] 15. MyBatis.NET CRUD(2)
[NHibernate강좌] 16. NHibernate 들어가기
[NHibernate강좌] 17. NHibernate xml 파일
[NHibernate강좌] 18. NHibernate 실전 - Object Relational Mapping
[NHibernate강좌] 19. NHibernate 실전 - CRUD(1)
[NHibernate강좌] 20. NHibernate 실전 - CRUD(2)


사나에
