1ºÎ iBATIS ¼Ò°³
1Àå iBATISÀÇ Åº»ý öÇÐ
1.1 º¹ÇÕÀûÀÎ ¼Ö·ç¼Ç : ÃÖ°í ÁßÀÇ ÃÖ°íµé·Î ±¸¼ºÇϱâ
1.1.1 iBATISÀÇ ±â¿ø ´ä»ç
1.1.2 iBATISÀÇ ÀåÁ¡ ÀÌÇØÇϱâ
1.2 iBATIS°¡ ÀûÇÕÇÑ °÷
1.2.1 ºñÁî´Ï½º °´Ã¼ ¸ðµ¨
1.2.2 ÇÁ¸®Á¨Å×ÀÌ¼Ç °èÃþ
1.2.3 ºñÁî´Ï½º ·ÎÁ÷ °èÃþ
1.2.4 Æ۽ýºÅϽº °èÃþ
1.2.5 °ü°èÇü µ¥ÀÌÅͺ£À̽º
1.3 ¿©·¯ Á¾·ùÀÇ µ¥ÀÌÅͺ£À̽º·Î ÀÛ¾÷Çϱâ
1.3.1 ¾ÖÇø®ÄÉÀÌ¼Ç µ¥ÀÌÅͺ£À̽º
1.3.2 ±â¾÷¿ë µ¥ÀÌÅͺ£À̽º
1.3.3 µ¶Á¡Àû µ¥ÀÌÅͺ£À̽º(Proprietary Database)
1.3.4 ·¹°Å½Ã µ¥ÀÌÅͺ£À̽º(Legacy Database)
1.4 iBATIS´Â µ¥ÀÌÅͺ£À̽ºÀÇ °øÅëÀûÀÎ ¹®Á¦Á¡µéÀ» ¾î¶»°Ô ´Ù·ç³ª?
1.4.1 ¼ÒÀ¯±Ç°ú Á¦¾î±Ç
1.4.2 ¿©·¯ ÀÌÁ¾ ½Ã½ºÅ۵鿡 ÀÇÇÑ Á¢±Ù
1.4.3 º¹ÀâÇÑ Å°¿Í °ü°èµé
1.4.4 ºñÁ¤±ÔÈµÈ È¤Àº °úµµÇÏ°Ô Á¤±ÔÈµÈ ¸ðµ¨
1.4.5 ºó¾àÇÑ µ¥ÀÌÅÍ ¸ðµ¨(Skinny Data Model)
1.5 ¿ä¾à
2Àå iBATIS¶õ ¹«¾ùÀΰ¡?
2.1 SQL ¸ÅÇÎÇϱâ
2.2 ¾î¶»°Ô ÀÛµ¿Çϳª
2.2.1 ÀÛ°í °£´ÜÇÑ ½Ã½ºÅÛÀ» À§ÇÑ iBATIS
2.2.2 ´ë±Ô¸ð Àü»çÀû ½Ã½ºÅÛÀ» À§ÇÑ iBATIS
2.3 ¿Ö iBATIS¸¦ »ç¿ëÇϳª?
2.3.1 °£´ÜÇÔ
2.3.2 »ý»ê¼º
2.3.3 ¼º´É
2.3.4 °ü½É»çÀÇ ºÐ¸®
2.3.5 ÀÛ¾÷ÀÇ ºÐ¹è
2.3.6 À̽ļº: ÀÚ¹Ù, .NET ±×¸®°í ±× ¿Ü¡¦
2.3.7 ¿ÀÇ ¼Ò½º¿Í Á¤Á÷¼º
2.4 iBATIS¸¦ »ç¿ëÇÏÁö ¾Ê´Â °æ¿ì
2.4.1 °³¹ßÀÚ°¡ ¸ðµç °Í¿¡ ´ëÇØ ¿µ¿øÇÑ °áÁ¤±ÇÀ» °®°í ÀÖÀ» ¶§¡¦
2.4.2 ¾ÖÇø®ÄÉÀ̼ÇÀÌ ¿ÏÀüÈ÷ µ¿ÀûÀÎ SQLÀ» ¿ä±¸ÇÒ ¶§
2.4.3 °ü°èÇü µ¥ÀÌÅͺ£À̽º¸¦ »ç¿ëÇÏÁö ¾ÊÀ» ¶§
2.4.4 ±×³É ÀÛµ¿ÇÏÁö ¾ÊÀ» °æ¿ì
2.5 5ºÐ³»¿¡ »ç¿ë °¡´ÉÇÑ iBATIS
2.5.1 µ¥ÀÌÅͺ£À̽º ÁغñÇϱâ
2.5.2 ÄÚµå ÀÛ¼ºÇϱâ
2.5.3 iBATIS ¼³Á¤Çϱâ(¹Ì¸®º¸±â)
2.5.4 ¾ÖÇø®ÄÉÀÌ¼Ç ºôµåÇϱâ
2.5.5 ¾ÖÇø®ÄÉÀÌ¼Ç ½ÇÇàÇϱâ
2.6 ¹Ì·¡: iBATIS´Â ¾îµð·Î °¡´Â°¡?
2.6.1 Apache ¼ÒÇÁÆ®¿þ¾î Àç´Ü
2.6.2 ´õ °£´ÜÇÏ°Ô, ´õ ÀÛ°Ô, ´õ ÀûÀº ÀÇÁ¸¼ºÀ¸·Î
2.6.3 ´õ ¸¹Àº È®Àå°ú Ç÷¯±×ÀÎ
2.6.4 Ãß°¡ÀûÀÎ Ç÷§Æû°ú ¾ð¾î
2.7 ¿ä¾à
2ºÎ iBATIS ±âÃÊ
3Àå iBATISÀÇ ¼³Ä¡¿Í ¼³Á¤
3.1 iBATIS ¹èÆ÷ÆÇ ¾ò±â
3.1.1 ¹ÙÀ̳ʸ® ¹èÆ÷ÆÇ
3.1.2 ¼Ò½º·ÎºÎÅÍ ºôµåÇϱâ
3.2 ¹èÆ÷ÆÇÀÇ ±¸¼º
3.3 ÀÇÁ¸¼º
3.3.1 ÀûÀç Áö¿¬À» À§ÇÑ ¹ÙÀÌÆ®ÄÚµå È®Àå
3.3.2 Jakarta DBCP(Commons Database Connection Pool)
3.3.3 ºÐ»ê ij½Ã(Distributed Cache)
3.4 ¾ÖÇø®ÄÉÀ̼ǿ¡ iBATIS ºÙÀ̱â
3.4.1 ´Üµ¶ ½ÇÇà ¾ÖÇø®ÄÉÀ̼ǿ¡¼ iBATIS »ç¿ëÇϱâ
3.4.2 À¥ ¾ÖÇø®ÄÉÀ̼ǿ¡¼ iBATIS »ç¿ëÇϱâ
3.5 iBATIS¿Í JDBC
3.5.1 JDBC ¸®¼Ò½º ÇØÁ¦Çϱâ
3.5.2 SQL injection
3.5.3 º¹Àâµµ ³·Ãß±â
3.6 °è¼ÓµÇ´Â iBATIS ¼³Á¤
3.6.1 SQL Maps ¼³Á¤ ÆÄÀÏ
3.6.2 properties ¿ä¼Ò
3.6.3 settings ¿ä¼Ò
3.6.4 typeAlias ¿ä¼Ò
3.6.5 transactionManager ¿ä¼Ò
3.6.6 typeHandler ¿ä¼Ò
3.6.7 sqlMap ¿ä¼Ò
3.7 ¿ä¾à
4Àå ¸ÅÇÎ ±¸¹®À¸·Î ÀÛ¾÷Çϱâ
4.1 ±âº»ÀûÀÎ »çÇ×µé
4.1.1 ÀÚ¹ÙºóÁî »ý¼ºÇϱâ
4.1.2 SQL Map API
4.1.3 ¸ÅÇÎ ±¸¹®ÀÇ Å¸ÀÔµé
4.2 select ¸ÅÇÎ ±¸¹® »ç¿ëÇϱâ
4.2.1 # ´ëÀÔÀÚ·Î ÀζóÀÎ ÆĶó¹ÌÅÍ »ç¿ëÇϱâ
4.2.2 $ ´ëÀÔÀÚ·Î ÀζóÀÎ ÆĶó¹ÌÅÍ »ç¿ëÇϱâ
4.2.3 SQL ÁÖÀÔ¿¡ ´ëÇÑ °£´ÜÇÑ ¿¹
4.2.4 ÀÚµ¿ °á°ú ¸Ê(Automatic result maps)
4.2.5 °ü·ÃµÈ µ¥ÀÌÅÍ Á¶ÀÎÇϱâ
4.3 ¸ÅÇÎ ÆĶó¹ÌÅÍ
4.3.1 ¿ÜºÎ ÆĶó¹ÌÅÍ ¸Ê
4.3.2 ÀζóÀÎ ÆĶó¹ÌÅÍ ¸ÅÇÎ ´Ù½Ã º¸±â
4.3.3 ¿ø½ÃŸÀÔ ÆĶó¹ÌÅÍ
4.3.4 ÀÚ¹ÙºóÁî¿Í Map ÆĶó¹ÌÅÍ
4.4 ÀζóÀÎ °á°ú ¸Ê°ú ¸í½ÃÀûÀÎ °á°ú ¸Ê »ç¿ëÇϱâ
4.4.1 ¿ø½ÃŸÀÔÀÇ °á°ú(Primitive results)
4.4.2 ÀÚ¹ÙºóÁî¿Í Map ÇüÅŸÀÔÀÇ °á°ú
4.5 ¿ä¾à
5Àå Äõ¸®°¡ ¾Æ´Ñ(non-query) ±¸¹® ½ÇÇàÇϱâ
5.1 µ¥ÀÌÅÍ °»½ÅÀ» À§ÇÑ ±âÃÊ ´ÙÁö±â
5.1.1 Äõ¸®°¡ ¾Æ´Ñ(non-query) ±¸¹®À» À§ÇÑ SQL Map API
5.1.2 Äõ¸®°¡ ¾Æ´Ñ(non-query) ¸ÅÇÎ ±¸¹®
5.2 µ¥ÀÌÅÍ »ðÀÔÇϱâ
5.2.1 ÀζóÀÎ ÆĶó¹ÌÅÍ ¸ÅÇÎ »ç¿ëÇϱâ
5.2.2 ¿ÜºÎ ÆĶó¹ÌÅÍ ¸Ê »ç¿ëÇϱâ
5.2.3 ÀÚµ¿ »ý¼º key
5.3 µ¥ÀÌÅ͸¦ ¼öÁ¤ÇÏ°í »èÁ¦Çϱâ
5.3.1 µ¿½Ã ¼öÁ¤ ´Ù·ç±â
5.3.2 ÀÚ½Ä ·¹Äڵ带 ¼öÁ¤ÇÏ°í »èÁ¦Çϱâ
5.4 ÀÏ°ý ¾÷µ¥ÀÌÆ® ½ÇÇàÇϱâ
5.5 ÀúÀå ÇÁ·Î½ÃÀú·Î ÀÛ¾÷Çϱâ
5.5.1 Àå´ÜÁ¡ °í·ÁÇϱâ
5.5.2 IN, OUT, ±×¸®°í INOUT ÆĶó¹ÌÅÍ
5.6 ¿ä¾à
6Àå °í±Þ Äõ¸® ±â¹ý
6.1 iBATIS¿¡¼ XML »ç¿ëÇϱâ
6.1.1 XML ÆĶó¹ÌÅÍ
6.1.2 XML·Î °á°ú »ý¼ºÇϱâ
6.2 ¸ÅÇÎ ±¸¹®À» °´Ã¼¿Í ¿¬°ü ½ÃÅ°±â
6.2.1 º¹ÀâÇÑ Ä÷º¼Ç(collection)
6.2.2 ÀûÀç Áö¿¬(lazy loading)
6.2.3 N+1 Select ¹®Á¦ ÇÇÇØ°¡±â
6.3 »ó¼Ó
6.3.1 »ó¼Ó ¸ÅÇÎÇϱâ
6.4 Àâ´ÙÇÑ ´Ù¸¥ È°¿ë¹ýµé
6.4.1 statement ŸÀÔ°ú DDL »ç¿ëÇϱâ
6.4.2 ¸Å¿ì Å« µ¥ÀÌÅÍ ¼Â ó¸®Çϱâ
6.5 ¿ä¾à
7Àå Æ®·£Àè¼Ç
7.1 Æ®·£Àè¼ÇÀº ¹«¾ùÀΰ¡?
7.1.1 °£´ÜÇÑ ÀºÇà ¿¹Á¦
7.1.2 Æ®·£Àè¼ÇÀÇ Æ¯¼º ÀÌÇØÇϱâ
7.2 ÀÚµ¿ Æ®·£Àè¼Ç
7.3 ·ÎÄà Ʈ·£Àè¼Ç
7.4 ±Û·Î¹ú Æ®·£Àè¼Ç
7.4.1 ´Éµ¿(active) ȤÀº ¼öµ¿(passive) Æ®·£Àè¼Ç »ç¿ëÇϱâ
7.4.2 Æ®·£Àè¼ÇÀ» ½ÃÀÛÇÏ°í Ä¿¹ÔÇÏ°í Á¾·áÇϱâ
7.4.3 ±Û·Î¹ú Æ®·£Àè¼ÇÀÌ ÇÊ¿äÇÑ°¡?
7.5 »ç¿ëÀÚ Á¤ÀÇ Æ®·£Àè¼Ç
7.6 Æ®·£Àè¼Ç ±¸ºÐÇϱâ
7.6.1 ÇÁ¸®Á¨Å×ÀÌ¼Ç °èÃþ¿¡¼ Æ®·£Àè¼Ç ±¸ºÐ Áþ±â
7.6.2 Æ۽ýºÅϽº °èÃþ¿¡¼ Æ®·£Àè¼Ç ±¸ºÐ Áþ±â
7.6.3 ºñÁî´Ï½º ·ÎÁ÷ °èÃþ¿¡¼ Æ®·£Àè¼Ç ±¸ºÐ Áþ±â
7.7 ¿ä¾à
8Àå µ¿ÀûÀÎ SQL»ç¿ëÇϱâ
8.1 µ¿ÀûÀÎ WHERE Á¶°ÇÀý ´Ù·ç±â
8.2 µ¿Àû ¿ä¼Òµé°ú Ä£¼÷ÇØÁö±â
8.2.1 dynamic ¿ä¼Ò
8.2.2 ÀÌÇ׿¬»ê ¿ä¼Ò
8.2.3 ´ÜÇ׿¬»ê ¿ä¼Ò
8.2.4 ÆĶó¹ÌÅÍ ¿ä¼Ò
8.2.5 iterate ¿ä¼Ò
8.3 ¸ðµÎ Àû¿ëÇÑ °£´ÜÇÑ ¿¹Á¦
8.3.1 µ¥ÀÌÅ͸¦ °¡Á®¿À°í Ç¥½ÃÇÏ´Â ¹æ¹ýÀ» Á¤ÀÇÇϱâ
8.3.2 µ¥ÀÌÅͺ£À̽º ±¸Á¶ °áÁ¤Çϱâ
8.3.3 Á¤ÀûÀÎ ÇüÅ·ΠSQL ÀÛ¼ºÇϱâ
8.3.4 µ¿ÀûÀÎ SQL¿ä¼Ò¸¦ Á¤ÀûÀÎ SQL¿¡ Àû¿ëÇϱâ
8.4 °í±Þ µ¿Àû SQL ±â¹ý
8.4.1 °á°ú µ¥ÀÌÅÍ Á¤ÀÇÇϱâ
8.4.2 Çʼö ÀÔ·Â Ç׸ñ Á¤ÀÇÇϱâ
8.4.3 Á¤ÀûÀÎ ÇüÅ·ΠSQL ÀÛ¼ºÇϱâ
8.4.4 µ¿Àû SQL ¿ä¼Ò¸¦ Á¤Àû SQL¿¡ Àû¿ëÇϱâ
8.5 µ¿Àû SQL¿¡ ´ë¾ÈÀÌ µÇ´Â Á¢±Ù¹ý
8.5.1 ÀÚ¹ÙÄÚµå »ç¿ëÇϱâ
8.5.2 ÀúÀå ÇÁ·Î½ÃÀú »ç¿ëÇϱâ
8.5.3 iBATIS¿Í ºñ±³Çϱâ
8.6 µ¿Àû SQLÀÇ ¹Ì·¡
8.6.1 °£´ÜÇØÁø Á¶°Ç ¿ä¼Ò
8.6.2 Ç¥Çö½Ä(Expression Language)
8.7 ¿ä¾à
3ºÎ Ibatis ½ÇÀü
9Àå ij½Ã¸¦ ÅëÇÑ ¼º´É Çâ»ó
9.1 °£´ÜÇÑ iBATIS ij½Ì ¿¹Á¦
9.2 iBATISÀÇ Ä³½Ì¿¡ °üÇÑ Ã¶ÇÐ
9.3 ij½Ã ¸ðµ¨ ÀÌÇØÇϱâ
9.3.1 type
9.3.2 readOnly ¼Ó¼º
9.3.3 serialize ¼Ó¼º
9.3.4 readOnly¿Í serialize Á¶ÇÕ
9.4 ij½Ã ¸ðµ¨ ³»ºÎÀÇ ÅÂ±× »ç¿ëÇϱâ
9.4.1 ij½Ã ºñ¿ì±â(Cache flushing)
9.4.2 ij½Ã ¸ðµ¨ ±¸ÇöüÀÇ ÇÁ¶óÆÛƼ ¼³Á¤Çϱâ
9.5 ij½Ã ¸ðµ¨ ŸÀÔ
9.5.1 MEMORY
9.5.2 LRU
9.5.3 FIFO
9.5.4 OSCACHE
9.5.5 ½º½º·Î ¸¸µç ij½Ã ¸ðµ¨
9.6 ij½Ì Àü·« ¼ö¸³Çϱâ
9.6.1 ÀбâÀü¿ë, Àå±â°£ À¯Áö µ¥ÀÌÅÍ Ä³½Ì
9.6.2 Àбâ/¾²±â °¡´ÉÇÑ µ¥ÀÌÅÍ Ä³½Ì
9.6.3 ³°°Ô µÇ´Â(aging) Á¤Àû µ¥ÀÌÅÍ Ä³½ÌÇϱâ
9.7 ¿ä¾à
10Àå iBATIS µ¥ÀÌÅÍ Á¢±Ù °´Ã¼(DAO)
10.1 »ó¼¼ÇÑ ±¸Çö ¼û±â±â
10.1.1 ¿Ö ºÐ¸®Çϴ°¡?
10.1.2 °£´ÜÇÑ ¿¹Á¦
10.2 DAO ¼³Á¤Çϱâ
10.2.1 properties ¿ä¼Ò
10.2.2 context ¿ä¼Ò
10.2.3 transactionManager> ¿ä¼Ò
10.2.4 DAO ¿ä¼Ò
10.3 ¼³Á¤ ÆÁµé
10.3.1 ´ÙÁß ¼¹ö
10.3.2 ´ÙÁß µ¥ÀÌÅͺ£À̽ºÀÇ ¹æ¾ð(dialect)
10.3.3 ½ÇÇà ½Ã¿¡ ¼³Á¤ º¯°æÇϱâ
10.4 SQL Maps DAO ±¸Çöü ¿¹Á¦
10.4.1 iBATIS¸¦ »ç¿ëÇÏ´Â DAO ¼³Á¤
10.4.2 DaoManager ÀνºÅϽº »ý¼ºÇϱâ
10.4.3 Æ®·£Àè¼Ç °ü¸®ÀÚ ¼³Á¤Çϱâ
10.4.4 ¸Ê ÀоîµéÀ̱â
10.4.5 DAO ±¸Çöü ÄÚµùÇϱâ
10.5 ¿ä¾à
11Àå DAO ´õ »ìÆ캸±â
11.1 SQL Maps°¡ ¾Æ´Ñ DAO ±¸Çöü
11.1.1 ÇÏÀ̹ö³×ÀÌÆ® DAO ±¸Çöü
11.1.2 JDBC DAO ±¸Çöü
11.2 ´Ù¸¥ µ¥ÀÌÅÍ ¼Ò½º·Î DAO ÆÐÅÏ »ç¿ëÇϱâ
11.2.1 ¿¹Á¦: LDAP·Î DAO »ç¿ëÇϱâ
11.2.2 ¿¹Á¦: À¥ ¼ºñ½º·Î DAO »ç¿ëÇϱâ
11.3 Spring DAO »ç¿ëÇϱâ
11.3.1 ÄÚµå ÀÛ¼ºÇϱâ
11.3.2 ¿Ö iBATIS ´ë½Å¿¡ SpringÀ» »ç¿ëÇϴ°¡?
11.4 °³¹ßÀÚ ½º½º·Î DAO °èÃþÀ» »ý¼ºÇϱâ
11.4.1 ±¸Çöü¿¡¼ ÀÎÅÍÆäÀ̽º¸¦ ºÐ¸®Çϱâ
11.4.2 °áÇÕµµ ³·Ãß±â(decoupling)¿Í ÆÑÅ丮(factory) »ý¼ºÇϱâ
11.5 ¿ä¾à
12Àå iBATIS È®ÀåÇϱâ
12.1 Ç÷¯±×ÀÎ °¡´ÉÇÑ ÄÄÆ÷³ÍÆ® ¼³°è ÀÌÇØÇϱâ
12.2 »ç¿ëÀÚ Á¤ÀÇ Å¸ÀÔ Çڵ鷯·Î ÀÛ¾÷Çϱâ
12.2.1 »ç¿ëÀÚ Á¤ÀÇŸÀÔ Çڵ鷯 ±¸ÇöÇϱâ
12.2.2 TypeHandlerCallback »ý¼ºÇϱâ
12.2.3 TypeHandlerCallbackÀ» µî·ÏÇؼ »ç¿ëÇϱâ
12.3 CacheController ´Ù·ç±â
12.3.1 CacheController »ý¼ºÇϱâ
12.3.2 CacheControllerÀÇ ÀúÀå, °¡Á®¿À±â, »èÁ¦Çϱâ
12.3.3 CacheController¸¦ µî·ÏÇؼ »ç¿ëÇϱâ
12.4 Áö¿øµÇÁö ¾Ê´Â DataSource ¼³Á¤Çϱâ
12.5 »ç¿ëÀÚ Á¤ÀÇ Æ®·£Àè¼Ç °ü¸®
12.5.1 TransactionConfig ÀÎÅÍÆäÀ̽º ÀÌÇØÇϱâ
12.5.2 Transaction ÀÎÅÍÆäÀ̽º ÀÌÇØÇϱâ
12.6 ¿ä¾à
4ºÎ iBATIS È°¿ëÇϱâ
13Àå iBATIS ÃÖÀû È°¿ë±â¹ý
13.1 iBATIS¿¡¼ ´ÜÀ§ Å×½ºÆ®Çϱâ
13.1.1 ¸ÅÇÎ °èÃþ ´ÜÀ§ Å×½ºÆ®
13.1.2 DAO ¼ÒºñÀÚ °èÃþ ´ÜÀ§ Å×½ºÆ® Çϱâ
13.2 iBATIS ¼³Á¤ ÆÄÀÏ °ü¸®Çϱâ
13.2.1 Ŭ·¡½ºÆнº ¾È¿¡ µÎ±â
13.2.2 ÆÄÀϵéÀ» ÇÔ²² µÎÀÚ
13.2.3 ¸®ÅÏŸÀÔ º°·Î Á¤¸®Ç϶ó
13.3 ¸í¸í ±ÔÄ¢
13.3.1 ¸ÅÇÎ ±¸¹®ÀÇ À̸§ Áþ±â
13.3.2 ÆĶó¹ÌÅÍ ¸ÊÀÇ À̸§ Áþ±â
13.3.3 °á°ú ¸Ê À̸§ Áþ±â
13.3.4 XML ÆÄÀϵé
13.4 ºóÁî, Map ȤÀº XML?
13.4.1 ÀÚ¹ÙºóÁî
13.4.2 Map
13.4.3 XML
13.4.4 ¿ø½Ã ŸÀÔ(primitives)
13.5 ¿ä¾à
14Àå ¸ðµÎ Á¾ÇÕÇؼ ¸¸µé¾îº¸±â
14.1 ¼³°è ÄÁ¼Á
14.1.1 °èÁ¤
14.1.2 Ä«Å»·Î±×
14.1.3 Àå¹Ù±¸´Ï
14.1.4 ÁÖ¹®
14.2 ±â¼ú ¼±ÅÃ
14.2.1 ÇÁ¸®Á¨Å×À̼Ç
14.2.2 ¼ºñ½º
14.2.3 Æ۽ýºÅϽº
14.3 Struts Á¶Á¤Çϱâ: BeanAction
14.3.1 BeanBase
14.3.2 BeanAction
14.3.3 ActionContext
14.4 ±âÃÊ ´Û±â
14.4.1 src
14.4.2 test
14.4.3 web
14.4.4 build
14.4.5 devlib
14.4.6 lib
14.5 web.xml ¼³Á¤Çϱâ
14.6 ÇÁ¸®Á¨Å×ÀÌ¼Ç ¼³Á¤Çϱâ
14.6.1 ù ¹ø° ´Ü°è
14.6.2 ÇÁ¸®Á¨Å×ÀÌ¼Ç ºóÁî ÀÌ¿ëÇϱâ
14.7 ¼ºñ½º ÀÛ¼ºÇϱâ
14.7.1 dao.xml ¼³Á¤Çϱâ
14.7.2 Æ®·£Àè¼Ç ±¸ºÐÇϱâ
14.8 DAO ÀÛ¼ºÇϱâ
14.8.1 SQL Maps ¼³Á¤
14.8.2 SQL Map
14.8.3 ÀÎÅÍÆäÀ̽º¿Í ±¸Ãà
14.9 ¿ä¾à
iBATIS â½ÃÀÚ°¡ Á÷Á¢ ¾´ Á¾ÇÕ ¼³¸í¼´Ù¸¥ º¹ÀâÇÏ°í ¹èŸÀûÀÎ Æ۽ýºÅϽº ¼Ö·ç¼Çµé°ú´Â ´Þ¸®, iBATIS´Â °´Ã¼ °ü°è ¸ÅÇÎÀ» ±ò²ûÇÏ°í °£°áÇÏ°Ô À¯ÁöÇÑ´Ù. ¶Ç Ŭ·¡½º¸¦ SQL ±¸¹®¿¡ ¸ÅÇÎÇÏ°í, ¹è¿ì±â ½±°í Ä£±ÙÇÑ Æ۽ýºÅϽº ÇÁ·¹ÀÓ¿öÅ©ÀÌ´Ù. iBATISÀÇ Á¢±Ù ¹æ½ÄÀ» »ç¿ëÇÏ¸é ¾ÖÇø®ÄÉÀ̼ǿ¡¼ ÄÚµùÇÏ°í Å×½ºÆ®ÇÏ°í ¹èÆ÷ÇϱⰡ ÈξÀ ¼ö¿ùÇØÁø´Ù. °³¹ßÀÚ°¡ ±âÁ¸°ú °°ÀÌ SQLÀ» ÀÛ¼ºÇϸé iBATIS°¡ µ¥ÀÌÅ͸¦ ÀúÀåÇϰųª °¡Á®¿Ã ¶§ Ç¥ÁØ °´Ã¼¸¦ »ç¿ëÇÒ ¼ö ÀÖ°Ô ÇØÁØ´Ù. ±âÁ¸ÀÇ µ¥ÀÌÅͺ£À̽º ½ºÅ°¸¶¸¦ º¯°æÇÒ ÇÊ¿ä´Â ÀüÇô ¾ø´Ù. ¶ÇÇÑ iBATIS´Â?·¹°Å½Ã µ¥ÀÌÅͺ£À̽º(½ÉÁö¾î À߸ø ¼³°èµÈ °ÍÁ¶Â÷)¿¡ ´ëÇؼµµ ¾Æ·®ÀÌ ³ÐÀº ÇÁ·¹ÀÓ¿öÅ©ÀÌ´Ù.
¡ºiBATIS ÀÎ ¾×¼Ç¡»¿¡¼´Â iBATIS â½ÃÀÚÀΠŬ¸°ÅÏ ºñ±ä(Clinton Begin)ÀÌ Á÷Á¢ ÀúÀÚ·Î Âü¿©ÇÏ¿© iBATIS·Î ±¸Çö °¡´ÉÇÑ ¸ðµç »çÇ׿¡ ´ëÇØ Ä£ÀýÇÏ°Ô ¼³¸íÇÏ°í ÀÖ´Ù. ÇÁ·¹ÀÓ¿öÅ©ÀÇ Ã¶ÇÐÀ» ºñ·ÔÇؼ ¼³Á¤, ¸ÅÇÎ ±¸¹®, Æ®·£Àè¼Ç µîÀ» Æ÷ÇÔÇÑ ÇÙ½É ±â´É¿¡ ´ëÇØ ÀÚ¼¼ÇÏ°Ô ¾È³»ÇÑ´Ù. µ¿Àû SQL°ú µ¥ÀÌÅÍ °èÃþ Ãß»óÈ¿Í °°Àº º¹ÀâÇÑ ÁÖÁ¦µµ ´Ù·ç°í ÀÖ´Ù. ¶Ç iBATIS ÀÚü¸¦ È®ÀåÇÏ´Â À¯¿ëÇÑ ±â¹ýµµ ¹è¿ì°Ô µÉ °ÍÀÌ´Ù. ´õ ÀÌ»ó ´Ù¸¥ Ã¥À̳ª ÀڷḦ ã¾Æ¼ Çì¸È ÇÊ¿ä°¡ ¾ø´Ù.
¡ºiBATIS ÀÎ ¾×¼Ç¡»¿¡¼´Â ´Ù¾çÇÑ ¿¹Á¦¸¦ È°¿ëÇÏ¿© ¼³¸íÀ» ÇÑ´Ù. °¢ ÁÖÁ¦º° À̽´¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ ¼³¸íÀº ¹°·Ð ´Ù¾çÇÑ ¿¹Á¦°¡ Á¦°øµÇ°í ÀÖ´Ù. ƯÈ÷ 14Àå¿¡¼ JGameStore¶ó´Â °¡»óÀÇ ÇÁ·ÎÁ§Æ® ¿¹Á¦¸¦ ÅëÇØ °³¹ß ÇÁ·Î¼¼½º óÀ½ºÎÅÍ ³¡±îÁö ÀÚ¼¼ÇÑ ¼³¸íÀ» °çµéÀÌ°í ÀÖ¾î, ±âÁ¸ÀÇ iBATIS »ç¿ëÀÚ´Â ¹°·Ð »õ·ÎÀÌ iBATIS¸¦ µµÀÔÇÏ°íÀÚ ÇÏ´Â °³¹ßÀڵ鿡°Ôµµ ¸¹Àº µµ¿òÀÌ µÉ °ÍÀÌ´Ù.