Ȩ > IT Á¤º¸±¤Àå News > > ASP.NET > ASP.NETÀ¸·Î ½ÇõÇÏ´Â O/R¸ÅÇΠ  
 
 
  ±â»ç ÅëÇÕ °Ë»ö
 
  IT Á¤º¸±¤Àå NEWS
    ÄÄÇ»ÆÃ
    Çϵå¿þ¾î
    ¼ÒÇÁÆ®¿þ¾î
    ¾÷°èµ¿Çâ
    Åë½Å¸ð¹ÙÀÏ
    ¹ÝµµÃ¼, ºÎǰ
    °¡Àü, ÁÖº¯±â±â
  IT ÀÎÆ÷¸ÞÀ̼Ç
  TIPS
  .NET ÀÔ¹®
  °´Ã¼ ÁöÇâ ÀÔ¹®
  ASP.NET
  .NET ÇÁ·Î±×·¡¹Ö
  ƯÁý
    Database
    IT Architect
    Java
    Linux
    XML & SOA
    IP Network
    Security
    Web Client
    RFID+IC
  Á¤º¸ ¸Å´ÏÁö¸ÕÆ®
    ½Ã½ºÅÛ±¸Ãà
    IT Staff
    Á¤º¸È­ ÅõÀÚ
  Àڱ⠰³¹ß ¿¬±¸¼Ò
    career ½ÇÇö
    skill âÁ¶


   Á¦2ȸ ASP.NET·Î ½ÇõÇÏ´Â O/R¸ÅÇÎ(iBATIS.NETÆí)
 1. iBATIS.NETÀÇ ÀνºÅç°ú ȯ°æ ¼³Á¤
2005/10/10  

  Áö³­ 1 ȸ¿¡¼­´Â O/R¸ÅÇÎ ¹× O/R¸ÅÇÎ ÅøÀÇ °³¿ä¿¡ ´ëÇØ ¼³¸íÇϰí, .NETÀü¿ëÀÇ ´ëÇ¥ÀûÀÎ O/R¸ÅÇÎ ÅøÀΡ¸NHibernate¡¹¸¦ ¼Ò°³Çß´Ù.

¡¡O/R ¸ÅÇÎ ÅøÀ» »ç¿ëÇϸé, (C# À̳ª VB.NETÀÇ) ¿ÀºêÁ§Æ®¿Í µ¥ÀÌÅͺ£À̽º »óÀÇ Å×À̺íÀ» ¸ÅÇÎÇÒ ¼ö ÀÖ´Ù. À̰Ϳ¡ ÀÇÇØ, ¾îÇø®ÄÉÀ̼ǿ¡¼­´Â ¿ÀºêÁ§Æ®ÀÇ ¼Ó¼º¿¡ ¾×¼¼½ºÇϱ⸸ Çϸé, Á÷°¨ÀûÀ¸·Î Å×À̺í»óÀÇ °¢ Çʵ忡 ¾×¼¼½ºÇÒ ¼ö ÀÖ°Ô µÈ´Ù´Â °ÍÀÌ´Ù.

¡¡Áö³­ ȸÀÇ ¼­µÎ¿¡¼­ ³ªÅ¸³½ °Íó·³, .NET ȯ°æ¿¡¼­ ÀÌ¿ë °¡´ÉÇÑ O/R ¸ÅÇÎ ÅøÀº ÀÌ¹Ì ¾ó¸¶µçÁö Á¦°øµÇ°í ÀÖ´Ù. À̹ø¿¡´Â NHibernate¿Í ³ª¶õÈ÷ .NET Àü¿ëÀÇ ´ëÇ¥ÀûÀÎ O/R¸ÅÇÎ ÅøÀΡ¸iBATIS.NET¡¹¿¡ ´ëÇØ ÇØ¼³Çϸ鼭, ½ÇÁ¦·Î ±×°ÍÀ» ÀÌ¿ëÇÑ ASP.NETÀÇ À¥ ¾îÇø®ÄÉÀ̼ÇÀ» ÀÛ¼ºÇØ ³ª°£´Ù.

iBATIS.NET

¡¡Áö³­È¸¿¡¼­ ˜±Æì º» °Íó·³, NHibernate´Â SQL Äù¸®¸¦ ÀÚµ¿ »ý¼ºÇϱ⠶§¹®¿¡, ¾îÇø®ÄÉÀ̼ÇÀÌ ¿¬±¸ ÃÖÁ¾ ´Ü°èÀÇ µ¥ÀÌÅͺ£À̽º¿¡ ÀÇÁ¸ÇÏ±â ¾î·Æ°í, ¿ø·¡ °³¹ßÀÚ°¡ SQL¸¦ ÀǽÄÇÏÁö ¾Ê¾Æµµ µÇ´Â ÀåÁ¡ÀÌ ÀÖ´Ù.

¡¡±×·¯³ª ÇÑÆíÀ¸·Î, SQL Äù¸®¿¡ ÀÇÇÑ °³¹ß¿¡ Á¤ÅëÇÑ °³¹ßÀÚ¿¡°Ô À־´Â, Äڵ尡 ÀåÈ²ÇØÁ® ¹ö¸®±â ½±°í, ¼¶¼¼ÇÑ ÆÛÆ÷¸Õ½º Æ©´×À» ½Ç½ÃÇÏ±â ¾î·Æ´Ù´Â ´ÜÁ¡ÀÌ ÀÖ´Â °Íµµ »ç½ÇÀÌ´Ù. ¸¸¾à ±×·¯ÇÑ ´ÜÁ¡À» ÀåÁ¡ ÀÌ»óÀ¸·Î °­ÇÏ°Ô ´À³¢°í ÀÖ´Ù¸é, iBATIS.NETÀ̶ó°í ÇÏ´Â ¼±Åà »çÇ×À» °ËÅäÇØµµ ÁÁÀ» °ÍÀÌ´Ù.

¡¡iBATIS.NET´Â Apache Foundation ¿¡¼­ Á¦°øµÇ°í ÀÖ´Â ¿ÀÇ ¼Ò½ºÀÇ O/R¸ÅÇΠüÁ¦ÀÌ´Ù *. ÀÌ iBATIS.NETÀÌ NHibernate¿Í Å©°Ô ´Ù¸¥ °ÍÀº SQL Äù¸®¸¦ °³¹ßÀÚ ÀÚ½ÅÀÌ ±â¼úÇϴ ŸÀÔÀÇ O/R¸ÅÇÎ ÅøÀ̶ó´Â Á¡ÀÌ´Ù.

¡¡iBATIS.NET¿¡¼­´Â SQL Äù¸®¸¦ ¿ÜºÎ ÆÄÀÏÈ­ ÇÒ »ÓÀ̶ó¼­, NHibernate µî¿¡ ºñÇØ °£ÆíÇÏ°Ô ÀÌ¿ëÇÒ ¼ö ÀÖ°í, ¼¶¼¼ÇÑ ÆÛÆ÷¸Õ½º Æ©´×µµ ½Ç½ÃÇϱ⠽±°í, Äڵ忡¼­ SQL Äù¸®¸¦ ºÐ¸®ÇϹǷΠÄڵ带 º¸±â ½±´Ù´Â µîÀÇ ÀåÁ¡ÀÌ ÀÖ´Ù. ¹°·Ð, SQLÀ» ÀǽÄÇØ¾ß Çϰí, »ç¿ëÇϰí ÀÖ´Â SQL¹®¿¡ µû¶ó¼­´Â ¿¬±¸ ÃÖÁ¾ ´Ü°èÀÇ µ¥ÀÌÅͺ£À̽º Á¦Ç°¿¡ ÀÇÁ¸ÇÒ °¡´É¼ºÀÌ ÀÖ´Â µîÀÇ ´ÜÁ¡µµ ÀÖ±ä ÇÏÁö¸¸, ¾çÀÚÀÇ ÀåÁ¡/´ÜÁ¡À» ÀÌÇØÇϰí, Àß ±¸ºÐÇÏ¿© »ç¿ëÇÏ±æ ¹Ù¶õ´Ù.

¡¡±×·¯¸é Áï½Ã, iBATIS.NETÀ» ÀÌ¿ëÇÑ µ¥ÀÌÅͺ£À̽º ¾×¼¼½ºÀÇ ¼ø¼­¸¦ »ìÆì º¸ÀÚ.

* iBATIS.NET´Â Á¤È®ÇϰԴ O/R¸ÅÇÎ ±â´ÉÀ» ÁÖ°üÇϴ¡¸SQL Maps¡¹°ú DI(Dependency Injection) ±â´ÉÀ» ÁÖ°üÇϴ¡¸DAO Framework¡¹¶ó°í ÇÏ´Â 2°¡ÁöÀÇ ±â´ÉÀ¸·Î ±¸¼ºµÇ´Â üÁ¦(¶óÀ̺귯¸®)ÀÌ´Ù. º»¹®¿¡¼­´Â ÀÌ iBATIS.NETÀÇ SQL Maps ±â´É¿¡ ´ëÇØ¼­¸¸ ¾ð±ÞÇϱâ·Î Çϰí, ÀÌÈÄ¿¡µµ iBATIS.NET¶ó°í ÇßÀ» °æ¿ì SQL Maps¸¦ °¡¸®Å²´Ù.

iBATIS.NETÀÇ ÀνºÅç°ú ȯ°æ ¼³Á¤

¡¡Áö³­ ȸÀÇ NHibernate¿Í °°ÀÌ iBATIS.NET¸¦ ÀÌ¿ëÇÏ·Á¸é, ¹Ì¸® ÇÊ¿äÇÑ ÆÄÀÏÀÇ ¹èÄ¡¿Í ¼³Á¤ ÆÄÀÏÀÇ Á¤ÀǸ¦ ³¡¸¶ÃÄ µÑ Çʿ䰡 ÀÖ´Ù. ±¸Ã¼ÀûÀÎ »ùÇà À¥ ¾îÇø®ÄÉÀ̼ÇÀ» »ìÆì º¸±â Àü¿¡, ¿ì¼±Àº iBATIS.NETÀÇ µ¿ÀÛ¿¡ ÇÊ¿äÇÑ È¯°æ ¼³Á¤À» ¿Ï·áÇØ µÎÀÚ.

£Û1£ÝiBATIS.NETÀÇ À̿뿡 ÇÊ¿äÇÑ ÆÄÀÏÀ» ¹èÄ¡ÇÑ´Ù

¡¡iBATIS.NET¸¦ ÀÌ¿ëÇϴµ¥ À־, ¿ì¼± ÀÌÇÏÀÇ »çÀÌÆ®¿¡¼­ ÇÊ¿äÇÑ ÆÄÀÏÀ» ´Ù¿î·ÎµåÇØ¾ß ÇÑ´Ù. º»¹®¿¡¼­´Â ÁýÇÊ ½ÃÁ¡¿¡¼­ÀÇ ÃֽйöÁ¯ÀÎ 1.2.1À» ¿¹·Î äÅÃÇÏÁö¸¸, iBATIS.NET´Â ¸ÅÀϸÅÀÏ ¾÷µ¥ÀÌÆ®Çϰí ÀÖ´Ù. ±×¶§±×¶§ÀÇ ÃֽůÇÀ» ÀÌ¿ëÇÏ±æ ¹Ù¶õ´Ù.

¡¡´Ù¿î·ÎµåÇÑ ÆÄÀÏ(º»¹®ÀÇ ¿¹¿¡¼­´Â DataMapper-bin-1.2.1. zip)ÀÇ ¾ÐÃàÀ» Ç®¸é, ¸î °³ÀÇ ÆÄÀÏÀÌ Àü°³µÉ °ÍÀÌ´Ù. ¿©±â¿¡¼­´Â ´Ù¿î·Îµå ÆÄÀÏ¿¡ Æ÷ÇԵǴ ¸ðµç¡¸.dll¡¹ÆÄÀÏÀ» ¾îÇø®ÄÉÀÌ¼Ç ·çÆ® ¾Æ·¡ÀÇ¡¸bin¡¹Æú´õ¿¡ Ä«ÇÇÇÑ´Ù.

¡¡¶Ç, providers.config¸¦ ¾îÇø®ÄÉÀÌ¼Ç ·çÆ®ÀÇ ¾Æ·¡¿¡ º¹»çÇØ µÎÀÚ. providers.config´Â iBATIS.NET°¡ ÀÌ¿ëÇÏ´Â Á¢¼Ó ÇÁ·Î¹ÙÀÌ´õ(°¢°¢ÀÇ µ¥ÀÌÅͺ£À̽º Á¦Ç°¿¡ ¾×¼¼½ºÇϱâ À§ÇÑ ±âº»ÀûÀÎ ¶óÀ̺귯¸® Áý´Ü)ÀÇ ¼³Á¤À» Á¤ÀÇÇÏ´Â ¼³Á¤ ÆÄÀÏÀÌ´Ù.


£Û2£ÝiBATIS.NETÀÇ µ¥ÀÌÅͺ£À̽º Á¢¼Ó Á¤º¸¸¦ Á¤ÀÇÇÑ´Ù

¡¡iBATIS.NET¿¡¼­´Â ¿ì¼± µ¥ÀÌÅͺ£À̽º Á¢¼Ó Á¤º¸¸¦ Àü¿ë ¼³Á¤ ÆÄÀÏÀÎ sqlMap.config·Î ¼±¾ðÇØ µÎ¾î¾ß ÇÑ´Ù. ÀÌÇÏ´Â º»¹®ÀÇ »ùÇÿ¡¼­ ÀÌ¿ëÇÏ´Â sqlMap.configÀÇ ±â¼ú ¿¹ÀÌ´Ù.

¡¡¶Ç, sqlMap.config´Â óÀ½ºÎÅÍ ½º½º·Î ±â¼úÇØµµ »ó°ü¾øÁö¸¸, ´Ù¿î·Îµå ÆÄÀÏ ¾È¿¡µµ ÅÛÇø´À¸·Î¼­ SqlMap-sample.config°¡ Æ÷ÇԵǾî ÀÖ´Ù. ¿©±â¿¡´Â ÃÖÀú ÇÊ¿äÇÑ ±â¼úÀÌ Æ÷ÇԵǾî ÀÖÀ¸¹Ç·Î, À̰ÍÀ» ÆíÁýÇϸé ŸÀÔ ¹Ì½ºµµ Àû°í, È¿À²ÀûÀ¸·Î ÀÛ¾÷À» ÁøÇàÇÒ ¼ö ÀÖÀ» °ÍÀÌ´Ù.

<?xml version="1.0" encoding="UTF-8" ?>

<sqlMapConfig xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:noNamespaceSchemaLocation="SqlMapConfig.xsd">

  <providers resource="providers.config" />

  <database>
    <provider name="sqlServer1.1"/>
    <dataSource name="sample" connectionString="Data Source=(local);User ID=sa;Password=sa;Persist Security Info=True;Initial Catalog=sample" />
  </database>

  <sqlMaps>
    <sqlMap resource="./Book.xml" />
  </sqlMaps>

</sqlMapConfig>
iBATIS.NET°¡ »ç¿ëÇÏ´Â µ¥ÀÌÅͺ£À̽º Á¢¼Ó Á¤º¸ÀÇ ¼³Á¤ ¿¹(sqlMap.config)


¡¡ ÀÛ¼ºÇÑ sqlMap.config´Â ´Ù¸¥¡¸.aspx¡¹ÆÄÀϰú °°Àº Æú´õ(º»¹®ÀÇ °æ¿ì¿¡´Â ¾îÇø®ÄÉÀÌ¼Ç ·çÆ®ÀÇ ¾Æ·¡)¿¡ ÀúÀåÇÒ °Í.

¡¡<providers>¿ä¼Ò¿¡´Â Á¢¼Ó ÇÁ·Î¹ÙÀÌ´õÀÇ Á¤º¸¸¦ Á¤ÀÇÇÑ ¼³Á¤ ÆÄÀÏ(providers.config)¿¡ÀÇ ÆÐ½º¸¦ ÁöÁ¤ÇÑ´Ù. ¾Õ¿¡¼­ ¼­¼úÇÑ °Íó·³ providers.config´Â iBATIS.NET°¡ ´ëÀÀÇϰí ÀÖ´Â Á¢¼Ó ÇÁ·Î¹ÙÀÌ´õ¸¦ ±â¼úÇÑ ¼³Á¤ ÆÄÀÏÀÌ´Ù. providers.config´Â ¹Ì¸® ´Ù¿î·Îµå ÆÄÀÏ¿¡ Æ÷ÇԵǾî ÀÖÀ¸¹Ç·Î, À̰ÍÀ» º¹»çÇϱ⸸ ÇÏ¸é µÇ°í, ½º½º·Î ÆíÁýÇÒ ÇÊ¿ä´Â ¾ø´Ù.

¡¡ÀÌÇÏ¿¡ providers.config·Î Á¤Àǵǰí ÀÖ´Â ÁÖµÈ Á¢¼Ó ÇÁ·Î¹ÙÀÌ´õ¸¦ µé¾î º¸ÀÚ.

Á¢¼Ó ÇÁ·Î¹ÙÀÌ´õ¸í µ¥ÀÌÅͺ£À̽º
sqlServer1.0 SQL Server 7.0/2000(.NET Framework 1.0¿ë)
sqlServer1.1 SQL Server 7.0/2000(.NET Framework 1.1¿ë)
OleDb1.1 OLE DB(.NET Framework 1.1¿ë)
Odbc1.1 ODBC(.NET Framework 1.1¿ë)
oracle9.2 Oracle 9.2
oracle10.1 Oracle 10.1
oracleClient1.0 Oracle(Microsoft·ÎºÎÅÍ Á¦°øµÇ°í ÀÖ´Â °Í)
MySql MySQL
SQLite3 SQLite 3.0
Firebird1.7 FireBird
PostgreSql0.7 PostgreSQL
iDb2.10 IBM DB2
 
iBATIS.NET°¡ ´ëÀÀÇÏ´Â Á¢¼Ó ÇÁ·Î¹ÙÀÌ´õ


¡¡ ´Ù¸¸, SQL Server, OLE DB, ODBC ÀÌ¿ÜÀÇ µ¥ÀÌÅͺ£À̽º¸¦ ÀÌ¿ëÇÏ´Â °æ¿ì¿¡´Â º°µµÀÇ µ¥ÀÌÅͺ£À̽º Àü¿ë Á¢¼Ó ÇÁ·Î¹ÙÀÌ´õ(.NET µ¥ÀÌÅÍ ÇÁ·Î¹ÙÀÌ´õ)°¡ ÇÊ¿äÇÏ°Ô µÇ¹Ç·Î ÁÖÀÇÇÏÀÚ.

¡¡½ÇÁ¦ÀÇ Á¢¼Ó ¼³Á¤À» ÇÏ´Â °ÍÀº <database>¿ä¼ÒÀÇ ¿ªÇÒÀÌ´Ù. »ç¿ëÇÏ´Â Á¢¼Ó ÇÁ·Î¹ÙÀÌ´õ¸¦ <provider>¿ä¼Ò·Î, Á¢¼Ó ¹®ÀÚ¿­À» <dataSource>¿ä¼Ò·Î °¢°¢ Á¤ÀÇÇÑ´Ù.

¡¡<sqlMaps>¿ä¼Ò´Â iBATIS.NET·Î »ç¿ëÇÏ´Â ¸ÅÇÎ ÆÄÀÏ¿¡ÀÇ ÆÐ½º¸¦ ÁöÁ¤ÇÑ´Ù. ¸ÅÇÎ ÆÄÀÏÀ̶õ, NHibernateÀÇ ÇØ¼³¿¡¼­µµ ¼Ò°³Çß´ø °Íó·³, Å×À̺í»óÀÇ Çʵå(¿­)¿Í Ŭ·¡½ºÀÇ ¼Ó¼ºÀ» °ü·ÃÁþ±â À§ÇÑ Á¤ÀÇ ÆÄÀÏÀÌ´Ù. ¿©±â¿¡¼­´Â ¸ÅÇÎ ÆÄÀϷμ­ Book.xmlÀ» ÁöÁ¤ÇÑ´Ù.

£Û3£Ý¸ÅÇÎ ÆÄÀÏÀ» Á¤ÀÇÇÑ´Ù


¡¡ ´ÙÀ½À¸·Î, sqlMap.config·Î ÁöÁ¤ÇÑ ¸ÅÇÎ ÆÄÀÏ Book.xmlÀ» Á¤ÀÇÇϰí, books Å×À̺í°ú Book Ŭ·¡½º¸¦ ¿¬°üÁþ´Â´Ù. ¶Ç, books Å×À̺í, Book Ŭ·¡½º´Â ¸ðµÎ Áö³­È¸ NHibernateÆí¿¡¼­ »ç¿ëÇÑ °ÍÀ» ±×´ë·Î ÀÌ¿ëÇÏÀÚ.

<?xml version="1.0" encoding="UTF-8" ?>

<sqlMap namespace="Book"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:noNamespaceSchemaLocation="SqlMap.xsd">

  <alias>
    <typeAlias alias="Book" type="Com.Msn.Wings.Book, Book" />
  </alias>

  <resultMaps>
    <resultMap id="booksResult" class="Book">
      <result property="Isbn" column="isbn" />
      <result property="Title" column="title" />
      <result property="Price" column="price" />
      <result property="Publish" column="publish" />
      <result property="Published" column="published" />
    </resultMap>
  </resultMaps>

  <statements>

    <select id="getBooksInfo" resultMap="booksResult">
      SELECT isbn,title,price,publish,published FROM books WHERE publish=#value#
    </select>

      ¡¦¡¦Áß·«¡¦¡¦

    <insert id="setBookInfo" parameterClass="Book">
      INSERT INTO books(isbn,title,price,publish,published) VALUES(#Isbn#,#Title#,#Price#,#Publish#,#Published#)
    </insert>

  </statements>

</sqlMap>
iBATIS.NET¿¡ ÀÇÇÑ ¸ÅÇÎ ÆÄÀÏÀÇ ±â¼ú ¿¹(Book.xml)


¡¡ Ŭ·¡½º¿Í Å×À̺íÀ» °ü·ÃÁþ´Â °ÍÀº <resultMap>¿ä¼ÒÀÇ ¿ªÇÒÀÌ´Ù. id¼Ó¼º¿¡ ¸ÅÇθíÀ», class ¼Ó¼º¿¡ °ü·ÃÁþ´Â Ŭ·¡½º¸íÀ» ÁöÁ¤ÇÑ´Ù. ¶ÇÇÑ, Ŭ·¡½º¸íÀº ¹Ì¸® <typeAlias>¿ä¼Ò·Î ¼±¾ðÇÑ ¾Ù¸®¾î½º(alias)(º°Äª)¿Í ´ëÀÀÇϰí ÀÖ¾î¾ß ÇÑ´Ù.<typeAlias>¿ä¼ÒÀÇ ±¸¹®Àº ÀÌÇÏ¿Í °°´Ù.

<typeAlias alias="¾Ù¸®¾î½º(alias)¸í" type="Ŭ·¡½ºÀÇ ¿ÏÀü ¼ö½Ä¸í, ¾î¼Àºí¸®¸í" />

¡¡<resultMap>¿ä¼Ò ¾Æ·¡ÀÇ <result>¿ä¼Ò´Â, °¢°¢ÀÇ Çʵå¸í°ú ¼Ó¼ºÀ» °ü·Ã Áþ´Â´Ù. property ¼Ó¼º¿¡´Â Ŭ·¡½ºÀÇ ¼Ó¼º¸íÀ», column ¼Ó¼º¿¡´Â ´ëÀÀÇÏ´Â Çʵå¸íÀ» °¢°¢ ÁöÁ¤ÇÑ´Ù.

¡¡´ÙÀ½ÀÇ <statements>¿ä¼Ò´Â iBATIS.NET¿¡¼­ ¹ßÇàÇÏ´Â SQL Äù¸®¸¦ °ü¸®ÇÑ´Ù. <statements>¿ä¼ÒÀÇ ¾Æ·¡¿¡´Â ÀÌÇÏÀÇ Ç¥¿¡¼­ ³ªÅ¸³» º¸ÀÌ´Â ¿ä¼Ò¿Í ¼Ó¼ºÀ» ±â¼úÇÒ ¼ö ÀÖ´Ù.

¿ä¼Ò ¼Ó¼º °³¿ä
<insert>
<update>
<delete>
id SQL Äù¸®¸í
parameterClass SQL Äù¸® ³»ÀÇ Ç÷¹À̽º Ȧ´õ¿¡ °ªÀ» ¼³Á¤Çϱâ À§ÇÑ Å¬·¡½º¸í
parameterMap SQL Äù¸® ³»ÀÇ Ç÷¹À̽º Ȧ´õ¿¡ °ªÀ» ¼³Á¤Çϱâ À§ÇÑ ¸Ê¸í
<select> id SQL Äù¸®¸í
parameterClass SQL Äù¸® ³»ÀÇ Ç÷¹À̽º Ȧ´õ¿¡ °ªÀ» ¼³Á¤Çϱâ À§ÇÑ Å¬·¡½º¸í
parameterMap SQL Äù¸® ³»ÀÇ Ç÷¹À̽º Ȧ´õ¿¡ °ªÀ» ¼³Á¤Çϱâ À§ÇÑ ¸Ê¸í
resultClass ÃëµæÇÑ °á°ú ¼¼Æ®¸¦ ¼¼Æ®Çϴ Ŭ·¡½º¸í
resultMap ÃëµæÇÑ °á°ú ¼¼Æ®¸¦ ¼¼Æ®ÇÏ´Â ¸Ê¸í
 
¿ä¼Ò ¾Æ·¡¿¡¼­ ÁöÁ¤ °¡´ÉÇÑ ÁÖµÈ ºÎÇÏ ¿ä¼Ò¿Í ¼Ó¼º


¡¡ ¿ì¼±<select>¿ä¼Ò´Â ±× À̸§¿¡¼­µµ ½±°Ô ÃßÃøÇÒ ¼ö ÀÖµíÀÌ, SELECT ¸í·ÉÀ» ¹ßÇàÇÒ ¶§ ÀÌ¿ëµÈ´Ù. INSERT/UPDATE/DELETEÀÇ °¢ ¸í·ÉÀ» ¹ßÇàÇÏ´Â °æ¿ì¿¡´Â °¢°¢ ´ëÀÀÇÏ´Â ¿ä¼Ò·Î ÁöÁ¤ÇÏ¸é µÈ´Ù.

¡¡id¼Ó¼ºÀº SQL Äù¸®¸¦ ÇѲ¨¹ø¿¡ ƯÁ¤Çϱâ À§ÇÑ ³í¸®¸íÀÌ´Ù. ÄÚµåÁß¿¡¼­ ¸ÅÇÎ ÆÄÀÏÀ» °Ë»öÇÒ ¶§ÀÇ Å°°¡ µÇ´Â Á¤º¸À̹ǷÎ, ¸ÅÇÎ ÆÄÀÏ ³»¿¡¼­ ¹Ýµå½Ã ÇѲ¨¹ø¿¡ ÁöÁ¤ÇØ¾ß ÇÑ´Ù.

¡¡resultMap ¼Ó¼ºÀº µ¥ÀÌÅͺ£À̽º¿¡¼­ ÃëµæÇÑ °á°ú ¼¼Æ®¸¦ ¿µ¼ÓÈ­ Ŭ·¡½º(¿µ¼ÓÈ­ Ŭ·¡½º¿¡ ´ëÇØ¼­´Â Áö³­ 1ȸÀÇ¡¸£Û4£Ý¿µ¼ÓÈ­ Ŭ·¡½º¸¦ Á¤ÀÇÇÑ´Ù¡¹ÀÇ Ç׸ñ À» ÂüÁ¶)¿¡ ¸ÅÇÎÇϱâ À§ÇÑ ¸Ê¸íÀ» ÁöÁ¤ÇÑ´Ù. ¹æ±Ý Àü <resultMap>¿ä¼Ò·Î ÁöÁ¤ÇÑ id¼Ó¼ºÀÇ °ªÀ» ¼¼Æ®ÇÒ °Í.

¡¡¹ßÇàÇÏ´Â SQL Äù¸® º»Ã¼´Â <select> (¶Ç´Â <insert>/<update>/<delete>) ¿ä¼ÒÀÇ º»Ã¼¿¡ ±â¼úÇÑ´Ù. º»¹®ÀÇ ¼­µÎ¿¡¼­µµ ±â¼úÇÑ °Íó·³, iBATIS.NET¿¡¼­´Â NHibernate¿Í °°Àº O/R¸ÅÇÎ Åø°ú´Â ´Þ¸®, SQL Äù¸®¸¦ °³¹ßÀÚ°¡ ¸í½ÃÀûÀ¸·Î ±â¼úÇØ¾ß ÇÑ´Ù.

¡¡¿¹¸¦ µé¸é ÀÌÇÏÀÇ <select>¿ä¼Ò´Â ÇÁ·Î±×·¥ Äڵ忡¼­¡¸getBooksInfo¡¹¶ó°í ÇÏ´Â ID·Î ½Äº°µÇ¾î 2Çà°¿¡ ÀÖ´Â SELECT ¸í·ÉÀ» µ¥ÀÌÅͺ£À̽º¿¡ ´ëÇØ ½ÇÇàÇÑ´Ù.

<select id="getBooksInfo" resultMap="booksResult">
  SELECT isbn,title,price,publish,published FROM books WHERE publish=#value#
</select>

¡¡±×¸®°í ¸ÅÇÎ ÆÄÀÏ ³»ÀÇ ÀÌÇÏ¿Í °°Àº <resultMap>¿ä¼ÒÀÇ ±â¼ú¿¡ µû¶ó¼­, °Ë»ö °á°úÀÇ °¢ ÇÊµå °ªÀÌ Book ¿ÀºêÁ§Æ®ÀÇ °¢ ¼Ó¼º¿¡ ´ëÀԵȴٴ °ÍÀÌ´Ù.

<resultMap id="booksResult" class="Book">
  <result property="Isbn" column="isbn" />
  <result property="Title" column="title" />
  <result property="Price" column="price" />
  <result property="Publish" column="publish" />
  <result property="Published" column="published" />
</resultMap>

¡¡SQL Äù¸®¿¡´Â ¡¸#value#¡¹(¹«¸í ÆÄ¶ó¹ÌÅÍ) ¶Ç´Â¡¸#ÆÄ¶ó¹ÌÅ͸í#¡¹(À̸§ ÆÄ¶ó¹ÌÅÍ)ÀÇ Çü½ÄÀ¸·Î Ç÷¹À̽º Ȧ´õ¸¦ ¼³Ä¡ÇÏ´Â °ÍÀÌ °¡´ÉÇÏ´Ù.

¡¡¹«¸í ÆÄ¶ó¹ÌÅÍ´Â ÄÚµå ¾È¿¡¼­µµ À̸§ µîÀ» ÀǽÄÇÏÁö ¾Ê°í, Á÷Á¢ °ªÀ» ¼¼Æ® ÇÒ ¼ö ÀÖ´Â °ÍÀÌ Æ÷ÀÎÆ®ÀÌ´Ù. Äù¸® ³»¿¡ Ç÷¹À̽º Ȧ´õ°¡ 1°³¹Û¿¡ ¾ø´Â °æ¿ì¿¡´Â ¹«¸í ÆÄ¶ó¹ÌÅ͸¦ ÀÌ¿ëÇÏ´Â °ÍÀ¸·Î Äڵ带 °£´ÜÇÏ°Ô ±â¼úÇÒ ¼ö ÀÖ´Ù.

¡¡ÇÑÆí, Äù¸® ³»¿¡ Ç÷¹À̽º Ȧ´õ°¡ ¿©·¯ °³ Á¸ÀçÇÏ´Â °æ¿ì¿¡´Â À̸§ ÆÄ¶ó¹ÌÅ͸¦ ÀÌ¿ëÇÏ¸é µÈ´Ù. ÀÚ¼¼ÇÑ °ÍÀº ³ªÁß¿¡ ¼­¼úÇϰÚÁö¸¸, À̸§ ÆÄ¶ó¹ÌÅ͸¦ ÀÌ¿ëÇÏ´Â °ÍÀ¸·Î parameterClass ¼Ó¼ºÀ¸·Î ÁöÁ¤µÈ Ŭ·¡½º¿Í °°Àº À̸§ÀÇ ¼Ó¼º °ªÀÌ ÀÚµ¿À¸·Î ¼¼Æ®µÈ´Ù. Áï, À§ÀÇ ¸ÅÇÎ ÆÄÀÏÀÇ ¿¹(INSERT ¸í·É)¶ó¸é, Book.Isbn ¼Ó¼ºÀÇ °ªÀÌ # Isbn#ÆÄ¶ó¹ÌÅÍ¿¡, Book.Title ¼Ó¼ºÀÇ °ªÀÌ #Title#ÆÄ¶ó¹ÌÅÍ¿¡ °¢°¢ ÀÚµ¿À¸·Î SQL Äù¸®·Î ÇÒ´çµÈ´Ù´Â °ÍÀÌ´Ù.

  ¡¼ASP.NETÀ¸·Î ½ÇõÇÏ´Â O/R¸ÅÇΡ½ ¸ñÂ÷
  Á¦2ȸ ASP.NET·Î ½ÇõÇÏ´Â O/R¸ÅÇÎ(iBATIS.NETÆí)
    ¢Ñ  1. iBATIS.NETÀÇ ÀνºÅç°ú ȯ°æ ¼³Á¤
    2. iBATIS.NET °æÀ¯·Î µ¥ÀÌÅͺ£À̽º¸¦ °Ë»öÇÑ´Ù
    3. iBATIS.NET¿¡ ÀÇÇÑ µ¥ÀÌÅÍ µî·Ï
  Á¦1ȸ ASP.NETÀ¸·Î ½ÇõÇÏ´Â O/R¸ÅÇÎ(NHibernateÆí)

  ¢º ¡¼¡½Ä«Å×°í¸® Àüü ¸ñ·Ï
  A. TIPS
  B. .NET ÀÔ¹®
     1. .NETÀÇ µ¿ÀÛ ¿ø¸®¸¦ ±âÃʺÎÅÍ ÀÌÇØÇÑ´Ù
     2. .NET Framework 2.0ÀÇ Windows Æû ½Å±â´É
     3. Tech Ed 2005 ¼¼¼Ç ¸®Æ÷Æ®(.NET¿¡ À־ÀÇ SOAÀÇ ¼³°è¹ý)
     4. Â÷¼¼´ë °³¹ß ±â¹Ý±â¼ú "Software Factories"
     5. .NET ¾îÇø®ÄÉÀÌ¼Ç ÀÚµ¿ °»½Å ±â¼úÀÇ ºñ±³
     6. C#£¦VB Á¦³×¸¯ ÀÔ¹®
  C. °´Ã¼ ÁöÇâ ÀÔ¹®
     1. °³¹ß ÇöÀå¿¡¼­ÀÇ Àǰß
  D. ASP.NET
     1. ASP.NETÀ¸·Î ½ÇõÇÏ´Â O/R¸ÅÇÎ
     2. Windows Communication Foundation
  E. .NET ÇÁ·Î±×·¡¹Ö
     1. AccessÀÇ ÀÚ»êÀº ¾îµð±îÁö .NETÈ­ ÇÒ ¼ö Àִ°¡£¿
     2. MIIS 2003ÇÁ·Î±×·¡¹Ö
     3. .NETÀ¸·Î Windows ¾îÇø®ÄÉÀÌ¼Ç ÀÛ¼º
     4. Visual C++ 2005
     5. Visual Basic 2005 À̰ÍÀÌ Æí¸®ÇÏ´Ù!
     6. Enterprise Library
     7. Enterprise Library 2.0À» Ư¡Áþ´Â DI±â´É
     8. Windows Workflow Foundation
     9. Visual Studio 2005·Î À̾߱âÇÏ´Â DBÇÁ·Î±×·¡¹Ö
     10. VS2005ÀÇ ÀÓº£µðµå °³¹ß ±â´É ¿À¹öºä
  F. ƯÁý
     1. Â÷¼¼´ë Windows ¼Ð MSH(ÄÚµå¸í£ºMonad)¸¦ ½ÃÇèÇÑ´Ù
     2. MSBuild ¿ÏÀü °ø·«
¡ºASP.NET¡»Ãֽűâ»ç
  4. MSBuildÀÇ Ä¿¸Çµå ¶ó...
  3. MSBuild¿¡ ÀÇÇÑ ¼Ö·ç...
  2. MSBuild ½ÇÇàÀ» ¿ÏÀü...
  1.¡¸MSBuild¡¹ ¹×¡¸MSBu...
  7. ÇÔ¼ö(Function)
  6. Cmdlet(Ä¿¸Çµå·¿)
  5. ·¹Áö½ºÆ®¸®¿¡ ´ëÇÑ ...
  4. ¾Ù¸®¾î½º¿¡ ´ëÇÑ ¿À...
  3. ÇÁ·Î¹ÙÀÌ´õ·Î¼­ Á¦°ø...
  2. ¾Ù¸®¾î½º - Á¤ÀÇ ÀÏ...
 
¡ºASP.NET¡»Top 10
  1.¡¸MSBuild¡¹ ¹×¡¸MSBu...
  2. MSBuild ½ÇÇàÀ» ¿ÏÀü...
  6. Cmdlet(Ä¿¸Çµå·¿)
  1. ¾Ù¸®¾î½º°¡ ±âº»ÀÎ ...
  4. MSBuildÀÇ Ä¿¸Çµå ¶ó...
  3. MSBuild¿¡ ÀÇÇÑ ¼Ö·ç...
  2. ¾Ù¸®¾î½º - Á¤ÀÇ ÀÏ...
  3. ÇÁ·Î¹ÙÀÌ´õ·Î¼­ Á¦°ø...
  5. ·¹Áö½ºÆ®¸®¿¡ ´ëÇÑ ...
  4. ¾Ù¸®¾î½º¿¡ ´ëÇÑ ¿À...
 
  °¡Àå ¸¹ÀÌ º» ±â»ç Top 10
  EtherealÀÇ »ç¿ë¹ý
  1. Ç÷¯±×ÀÎ ÀÛ¼ºÀÇ ±â...
  1.Æ®¸® ºä¾î¸¦ »ç¿ëÇÑ ...
  3. SWT¿Í JFace
  1. ÅÛÇø´¿¡ ÀÇÇÑ XML ...
  1. Java heap ¸Þ¸ð¸®ÀÇ ...
  Á¦1ȸ IT±â¼úÀÚ°¡ ¡¸»ó...
  2. Ç÷¯±×ÀÎÀÇ ¼Ò½º¸¦ ...
  arp¸¦ »ìÆì º¸ÀÚ
  1. Cairngorm Framework...