JDBC °³¹ßÀÚ³ª ¾ÆÀ̹ÙƼ½º °³¹ßÀÚ°¡ ¸¶À̹ÙƼ½º¸¦ ¼Õ½±°Ô ÀÌ¿ëÇÒ ¼ö ÀÖµµ·Ï Â÷±ÙÂ÷±Ù ¼³¸íÇÏ´Â ¼¼°è ÃÖÃÊÀÇ ¸¶À̹ÙƼ½º °¡À̵å
¸¶À̹ÙƼ½º(MyBatis)´Â JDBC¸¦ ´ëüÇÏ´Â ÀÚ¹Ù Æ۽ýºÅϽº ÇÁ·¹ÀÓ¿öÅ©·Î, ±¹³»¿¡¼ °¡Àå Àαâ ÀÖ´Â Æ۽ýºÅϽº ÇÁ·¹ÀÓ¿öÅ©ÀÎ ¾ÆÀ̹ÙƼ½º(iBatis)¸¦ »õ·ÎÀÌ ¾÷±×·¹À̵åÇÑ Á¦Ç°ÀÌ´Ù. ¸¶À̹ÙƼ½º´Â ¾ÆÀ̹ÙƼ½º°¡ °¡Áø °£°áÇÔ¿¡, ¾ÆÀ̹ÙƼ½º¿¡ ¾ø´ø ´Ù¾çÇÑ ±â´É°ú °³¼±À» ´õÇß´Ù. ÀÌ Ã¥Àº JDBC¸¦ »ç¿ëÇÏ´Â °³¹ßÀÚ°¡ ½±°Ô ¸¶À̹ÙƼ½º¸¦ »ç¿ëÇÒ ¼ö ÀÖµµ·Ï Â÷±ÙÂ÷±Ù ¼³¸íÇÑ´Ù. ±×¸®°í ±âÁ¸¿¡ ¾ÆÀ̹ÙƼ½º¸¦ »ç¿ëÇÏ´ø °³¹ßÀÚ¿¡°Ô´Â ¸¶À̹ÙƼ½º¿ÍÀÇ Â÷ÀÌÁ¡À» ¼³¸íÇؼ ½±°Ô ÀüȯÇÒ ¼ö ÀÖµµ·Ï Áö¿øÇÑ´Ù. µû¶ó¼ µ¥ÀÌÅͺ£À̽º¸¦ ´Ù·ç´Â Æ۽ýºÅϽº ÇÁ·¹ÀÓ¿öÅ©ÀÇ »ç¿ë °æÇèÀÌ ¾ø´Â °³¹ßÀÚµµ µ¥ÀÌÅͺ£À̽º ¿¬µ¿ ÀÛ¾÷À» ¸Å¿ì ½±°Ô ÇÒ ¼ö ÀÖÀ¸¸ç, ¾ÆÀ̹ÙƼ½º¸¦ »ç¿ëÇØ¿Â °³¹ßÀڴ óÀ½ ¾ÆÀ̹ÙƼ½º¸¦ »ç¿ëÇÒ ¶§ ´À²¼´ø ±× °£°áÇÔÀÌ »õ·Î¿î ´À³¦À¸·Î ´Ù°¡¿Ã °ÍÀÌ´Ù. ÀÌ Ã¥¿¡¼ ´Ù·ç´Â ¸¶À̹ÙƼ½º ¹öÀüÀº 3.2.1ÀÌ°í ½ºÇÁ¸µ ¿¬µ¿ ¸ðµâÀº 1.2.0ÀÌ´Ù.
1Àå JDBC ÄÚµåÀÇ ´ë¾È ¸¶À̹ÙƼ½º
___1.1 ÀüÅëÀûÀÎ JDBC ÇÁ·Î±×·¡¹Ö
___1.2 ¸¶À̹ÙƼ½º¶õ ¹«¾ùÀΰ¡?
______1.2.1 ¸¶À̹ÙƼ½º ÇÁ·ÎÁ§Æ®
______1.2.2 ´Ù¸¥ ¾ð¾î¸¦ À§ÇÑ ¸¶À̹ÙƼ½º
______1.2.3 ¿¬µ¿ ¸ðµâ
___1.3 µ¥ÀÌÅÍ ¸ÅÆÛ ¸¶À̹ÙƼ½ºÀÇ ¿ª»ç
___1.4 ¸¶À̹ÙƼ½º ±¸Á¶
___1.5 Á¤¸®
2Àå ¸¶À̹ÙƼ½º ½ÃÀÛ
___2.1 °³¹ß ȯ°æÀÇ ±¸Ãà
______2.1.1 µ¥ÀÌÅͺ£À̽º ¼³Ä¡
______2.1.2 JDK ¼³Ä¡
______2.1.3 ÀÌŬ¸³½º ¼³Ä¡¿Í ¿¹Á¦ ÄÚµå ´Ù¿î·Îµå
______2.1.4 ÅèĹ ¼³Ä¡
___2.2 JDBC ÄÚµå ¸ÕÀú »ìÆ캸±â
___2.3 ¸¶À̹ÙƼ½º ¶óÀ̺귯¸® ¼³¸í
______2.3.1 ¸¶À̹ÙƼ½º ¶óÀ̺귯¸® ÆÄÀÏ º¹»ç
______2.3.2 ¸ÞÀ̺ìÀ¸·Î ¸¶À̹ÙƼ½º ¶óÀ̺귯¸® °ü¸®
___2.4 ¸¶À̹ÙƼ½º ¼³Á¤ ÆÄÀÏ(mybatis-config.xml)
___2.5 ¸¶À̹ÙƼ½º °´Ã¼ »ý¼ºÇϱâ(SqlSessionFactory)
___2.6 Á¤¸®
3Àå ¸¶À̹ÙƼ½º CRUD
___3.1 µ¥ÀÌÅÍ ±¸Á¶ ÆľÇ
______3.1.1 µ¥ÀÌÅͺ£À̽º Å×ÀÌºí ±¸Á¶ ÆľÇ
______3.1.2 ÀÚ¹Ù ¸ðµ¨ Ŭ·¡½º
___3.2 ¸¶À̹ÙƼ½º ÆĶó¹ÌÅÍ Ç¥±â¹ý
___3.3 µ¥ÀÌÅÍ Á¶È¸
______3.3.1 µ¥ÀÌÅ͸¦ Á¶È¸ÇÏ´Â ÀüÅëÀûÀÎ JDBC ÄÚµå
______3.3.2 µ¥ÀÌÅ͸¦ Á¶È¸ÇÏ´Â ¸ÅÇÎ ±¸¹®À¸·Î ºÐ¸®
______3.3.3 ¸ÅÇÎ ±¸¹®À» »ç¿ëÇÏ´Â ¸¶À̹ÙƼ½º ÄÚµå »ý¼º
______3.3.4 ¸¶À̹ÙƼ½º Äڵ带 »ç¿ëÇÑ µ¥ÀÌÅÍ Á¶È¸
______3.3.5 µ¥ÀÌÅ͸¦ Á¶È¸ÇÏ´Â ¸¶À̹ÙƼ½º ½ÇÇà °á°ú ·Î±×
___3.4 µ¥ÀÌÅÍ ÀÔ·Â
______3.4.1 µ¥ÀÌÅ͸¦ ÀÔ·ÂÇÏ´Â ÀüÅëÀûÀÎ JDBC ÄÚµå
______3.4.2 µ¥ÀÌÅ͸¦ ÀÔ·ÂÇÏ´Â ¸ÅÇÎ ±¸¹®À¸·Î ºÐ¸®
______3.4.3 ¸ÅÇÎ ±¸¹®À» »ç¿ëÇÏ´Â ¸¶À̹ÙƼ½º ÄÚµå »ý¼º
______3.4.4 ¸¶À̹ÙƼ½º Äڵ带 »ç¿ëÇØ µ¥ÀÌÅ͸¦ ÀÔ·Â
______3.4.5 µ¥ÀÌÅ͸¦ ÀÔ·ÂÇÏ´Â ¸¶À̹ÙƼ½º ½ÇÇà °á°ú ·Î±×
___3.5 µ¥ÀÌÅÍ ¼öÁ¤
______3.5.1 µ¥ÀÌÅ͸¦ ¼öÁ¤ÇÏ´Â ÀüÅëÀûÀÎ JDBC ÄÚµå
______3.5.2 µ¥ÀÌÅ͸¦ ¼öÁ¤ÇÏ´Â ¸ÅÇÎ ±¸¹®À¸·Î ºÐ¸®
______3.5.3 ¸ÅÇÎ ±¸¹®À» »ç¿ëÇÏ´Â ¸¶À̹ÙƼ½º ÄÚµå »ý¼º
______3.5.4 ¸¶À̹ÙƼ½º Äڵ带 »ç¿ëÇØ µ¥ÀÌÅÍ ¼öÁ¤
______3.5.5 µ¥ÀÌÅ͸¦ ¼öÁ¤ÇÏ´Â ¸¶À̹ÙƼ½º ½ÇÇà °á°ú ·Î±×
___3.6 µ¥ÀÌÅÍ »èÁ¦
______3.6.1 µ¥ÀÌÅ͸¦ »èÁ¦ÇÏ´Â ÀüÅëÀûÀÎ JDBC ÄÚµå
______3.6.2 µ¥ÀÌÅ͸¦ »èÁ¦ÇÏ´Â ¸ÅÇÎ ±¸¹®À¸·Î ºÐ¸®
______3.6.3 ¸ÅÇÎ ±¸¹®À» »ç¿ëÇÏ´Â ¸¶À̹ÙƼ½º ÄÚµå »ý¼º
______3.6.4 ¸¶À̹ÙƼ½º Äڵ带 »ç¿ëÇØ µ¥ÀÌÅÍ »èÁ¦
______3.6.5 µ¥ÀÌÅ͸¦ »èÁ¦ÇÏ´Â ¸¶À̹ÙƼ½º ½ÇÇà °á°ú ·Î±×
___3.7 Á¤¸®
4Àå ¸¶À̹ÙƼ½º À¥ ¾ÖÇø®ÄÉÀ̼ǰú È°¿ë
___4.1 ¸¶À̹ÙƼ½º¸¦ »ç¿ëÇÏ´Â À¥ ÇÁ·ÎÁ§Æ®
___4.2 ¸ÅÆÛ XML°ú ¸ÅÆÛ ÀÎÅÍÆäÀ̽º
______4.2.1 XML¸¸ »ç¿ë
______4.2.2 ÀÎÅÍÆäÀ̽º¸¸ »ç¿ëÇÏ´Â °æ¿ì
______4.2.3 XML°ú ÀÎÅÍÆäÀ̽º¸¦ ÇÔ²² »ç¿ëÇÏ´Â °æ¿ì
___4.3 Æ®·£Àè¼Ç °ü¸®
______4.3.1 SqlSessionFactory
______4.3.2 Æ®·£Àè¼Ç ó¸®
___4.4 Á¶È¸ °á°ú¸¦ ÀÚ¹Ù °´Ã¼¿¡ ¼³Á¤(°á°ú ¸ÅÇÎ)
______4.4.1 ÇÑ °³ÀÇ Å×À̺íÀ» »ç¿ëÇÏ´Â °á°ú ¸ÅÇÎ
______4.4.2 »ý¼ºÀÚ¸¦ ÅëÇÑ °´Ã¼ »ý¼º(constructor ¿¤¸®¸ÕÆ®)
______4.4.3 1:1 °ü°è¸¦ ó¸®ÇÏ´Â association ¿¤¸®¸ÕÆ®
______4.4.4 1:N °ü°è¸¦ ó¸®ÇÏ´Â collection ¿¤¸®¸ÕÆ®
______4.4.5 µ¿ÀûÀ¸·Î °á°ú ¸ÅÇÎÀ» ¼±ÅÃÇÏ´Â discriminator ¿¤¸®¸ÕÆ®
___4.5 Á¤¸®
5Àå ¸¶À̹ÙƼ½º¿Í ½ºÇÁ¸µ À¥ ¾ÖÇø®ÄÉÀÌ¼Ç ¿¬µ¿
___5.1 ¸¶À̹ÙƼ½º ¶óÀ̺귯¸®
______5.1.1 ¸¶À̹ÙƼ½º ½ºÇÁ¸µ ¿¬µ¿ ¸ðµâ º¹»ç
______5.1.2 ¸ÞÀ̺ìÀ¸·Î ½ºÇÁ¸µ ¿¬µ¿ ¸ðµâ °ü¸®
___5.2 ½ºÇÁ¸µÀ» »ç¿ëÇÏ´Â ÀÚ¹Ù À¥ ÇÁ·ÎÁ§Æ® »ý¼º
___5.3 ½ºÇÁ¸µ ¼³Á¤
______5.3.1 ½ºÇÁ¸µÀÇ µ¥ÀÌÅͺ£À̽º °ü·Ã ¼³Á¤
______5.3.2 ½ºÇÁ¸µ ¿¬µ¿ ¼³Á¤
___5.4 ·¹À̾ ¿¹Á¦
______5.4.1 CommentService
______5.4.2 CommentRepository
______5.4.3 µ¥ÀÌÅ͸¦ Ãâ·ÂÇÏ´Â JSP
___5.5 ¸¶À̹ÙƼ½º¿Í ½ºÇÁ¸µ JDBC¸¦ ÇÔ²² »ç¿ë
______5.5.1 ½ºÇÁ¸µ JDBC °´Ã¼ »ý¼º
______5.5.2 ½ºÇÁ¸µ JDBC »ç¿ë
___5.6 Á¤¸®
6Àå ¸¶À̹ÙƼ½º ¼³Á¤ ÆÄÀÏ
___6.1 º¹ÀâÇÑ ¸¶À̹ÙƼ½º ¼³Á¤ ÆÄÀÏ
___6.2 properties ¿¤¸®¸ÕÆ®
___6.3 settings ¿¤¸®¸ÕÆ®
___6.4 typeAliases ¿¤¸®¸ÕÆ®
___6.5 typeHandlers ¿¤¸®¸ÕÆ®
___6.6 objectFactory ¿¤¸®¸ÕÆ®
___6.7 plugins ¿¤¸®¸ÕÆ®
___6.8 environments ¿¤¸®¸ÕÆ®
______6.8.1 Æ®·£Àè¼Ç °ü¸®ÀÚ
______6.8.2 µ¥ÀÌÅÍ ¼Ò½º
___6.9 mappers ¿¤¸®¸ÕÆ®
___6.10 Á¤¸®
7Àå ¸ÅÆÛ XML°ú ¸ÅÆÛ ÀÎÅÍÆäÀ̽º
___7.1 ¸ÅÆÛ XML
______7.1.1 cache-ref, cache ¿¤¸®¸ÕÆ®
______7.1.2 resultMap ¿¤¸®¸ÕÆ®
______7.1.3 sql ¿¤¸®¸ÕÆ®
______7.1.4 insert, update, delete ¿¤¸®¸ÕÆ®
______7.1.5 selectKey ¿¤¸®¸ÕÆ®
______7.1.6 select ¿¤¸®¸ÕÆ®
___7.2 ¸ÅÆÛ ÀÎÅÍÆäÀ̽º
______7.2.1 °£´ÜÇÑ CRUD¸¦ ó¸®Çϱâ À§ÇÑ ¸ÅÆÛ ÀÎÅÍÆäÀ̽º
______7.2.2 ´Ù¾çÇÑ ¾Ö³ëÅ×ÀÌ¼Ç °á°ú ¸ÅÇÎ »ìÆ캸±â
______7.2.3 ¸ÅÆÛ ÀÎÅÍÆäÀ̽º¿¡¼ »ç¿ë °¡´ÉÇÑ ¾Ö³ëÅ×À̼Ç
___7.3 SqlSession API
___7.4 Á¤¸®
8Àå µ¿Àû SQL
___8.1 XML¿¡¼ µ¿Àû SQLÀ» À§ÇÑ ¿¤¸®¸ÕÆ®¸¦ »ç¿ë
______8.1.1 OGNLÀÇ ±âº» ¹®¹ý
______8.1.2 if ¿¤¸®¸ÕÆ®
______8.1.3 choose(when, otherwise) ¿¤¸®¸ÕÆ®
______8.1.4 trim(where) ¿¤¸®¸ÕÆ®
______8.1.5 foreach ¿¤¸®¸ÕÆ®
______8.1.6 set ¿¤¸®¸ÕÆ®
______8.1.7 OGNLÀ» »ç¿ëÇØ Á¤Àû ¸Þ¼Òµå¿Í Á¤Àû Çʵ忡 Á¢±Ù
___8.2 ¸¶À̹ÙƼ½ºÀÇ ±¸¹® ºô´õ API¸¦ »ç¿ëÇØ »ý¼º
______8.2.1 SelectBuilder
______8.2.2 SqlBuilder
___8.3 ÀϹÝÀûÀÎ ÀÚ¹Ù ÄÚµå »ç¿ë
___8.4 Á¤¸®
9Àå ¸¶À̹ÙƼ½º Á¦³Ê·¹ÀÌÅÍ
___9.1 ¸¶À̹ÙƼ½º Á¦³Ê·¹ÀÌÅÍ ¼Ò°³
___9.2 ¼³Ä¡ ¹æ¹ý°ú ½ÇÇà ¹æ¹ý
______9.2.1 ¾ÐÃà ÆÄÀÏÀÇ ´Ù¿î·Îµå¿Í ½ÇÇà
______9.2.2 ¸ÞÀ̺ìÀ¸·Î jar ÆÄÀÏÀ» ´Ù¿î·ÎµåÇÏ°í ½ÇÇà
______9.2.3 ÀÌŬ¸³½º Ç÷¯±×ÀÎ ¼³Ä¡
___9.3 ¼³Á¤ ÆÄÀÏ°ú ¼³Á¤ ÆÄÀÏ¿¡ µû¸¥ »ý¼º °á°ú
______9.3.1 ¾Ö³ëÅ×À̼Ǹ¸ »ç¿ëÇØ ¸ÅÇÎ ±¸¹®À» Á¤ÀÇ
______9.3.2 XML¸¸ »ç¿ëÇØ ¸ÅÇÎ ±¸¹® Á¤ÀÇ
______9.3.3 ¾Ö³ëÅ×À̼ǰú XMLÀ» ÇÔ²² »ç¿ëÇØ ¸ÅÇÎ ±¸¹® Á¤ÀÇ
___9.4 ¼³Á¤ ÆÄÀÏÀÇ ¼¼ºÎ ¿É¼Ç
______9.4.1 generatorConfiguration
______9.4.2 properties, property
______9.4.3 classPathEntry
______9.4.4 context
______9.4.5 commentGenerator
______9.4.6 jdbcConnection
______9.4.7 javaModelGenerator
______9.4.8 javaClientGenerator
______9.4.9 sqlMapGenerator
______9.4.10 table
______9.4.11 generatedKey
___9.5 Á¦³Ê·¹ÀÌÅÍ È°¿ë ¹æ¾È
______9.5.1 Á¦³Ê·¹ÀÌÅÍ°¡ »ý¼ºÇÏ´Â ÄÚµå Àüü¸¦ ±×´ë·Î »ç¿ë
______9.5.2 Á¦³Ê·¹ÀÌÅÍ·Î ÄÚµå »ý¼º ÈÄ ½ÇÁ¦ »ç¿ëÇÏ´Â ºÎºÐ¸¸ º¹»ç ÈÄ ¹Ý¿µ
___9.6 Á¤¸®
ºÎ·Ï A ¾ÆÀ̹ÙƼ½º¿¡¼ ¸¶À̹ÙƼ½º·Î Àüȯ
___A.1 DTD º¯È¯ ±ÔÄ¢
______A.1.1 ¼³Á¤ ÆÄÀÏÀÇ DTD
______A.1.2 ¸ÅÆÛ XMLÀÇ DTD
___A.2 ¼³Á¤ ÆÄÀÏ º¯È¯ ±ÔÄ¢
______A.2.1 ÃÖ»óÀ§ ¿¤¸®¸ÕÆ®
______A.2.2 settings ¿¤¸®¸ÕÆ®
______A.2.3 typeAlias ¿¤¸®¸ÕÆ®
______A.2.4 transactionManager ¿¤¸®¸ÕÆ®¿Í dataSource ¿¤¸®¸ÕÆ®
______A.2.5 ¸ÅÆÛ ¼³Á¤
___A.3 ¸ÅÆÛ XML º¯È¯ ±ÔÄ¢
______A.3.1 XML ¿¤¸®¸ÕÆ®
______A.3.2 Áßø °á°ú ¸ÅÇÎ ¼³Á¤
______A.3.3 parameterMap
______A.3.4 ÀζóÀÎ ÆĶó¹ÌÅÍ(ÆĶó¹ÌÅÍ Ç¥±â¹ý)
______A.3.5 jdbcType
______A.3.6 ÀúÀå ÇÁ·Î½ÃÀú
______A.3.7 ij½Ã
______A.3.8 µ¿Àû SQL
___A.4 ÀÚ¹Ù API
______A.4.1 SqlMapClient
______A.4.2 »ç¿ëÀÚ Á¤ÀÇ Å¸ÀÔ Çڵ鷯
ºÎ·Ï B ¸¶À̹ÙƼ½º ÆíÁý±â
___B.1 ¼³Ä¡ ¹æ¹ý
___B.2 Á¦°øÇÏ´Â ±â´É
ºÎ·Ï C ÈçÈ÷ ¹ß»ýÇÒ ¼ö ÀÖ´Â ¿¡·¯ À¯Çü