ÀÀ¿ëÇÁ·Î±×·¥ °³¹ß ¾È³»¼­


JDBC ¹× SQLJ »óÈ£¿î¿ë¼º

SQLJ ¾ð¾î´Â ÇÁ·Î±×·¥ÀÌ ÀÛ¼ºµÈ ½Ã±â¿¡ ¾Ë·ÁÁø Á¤Àû SQL Á¶ÀÛÀ» Á÷Á¢ Áö¿øÇÕ´Ï´Ù. ·±Å¸ÀÓ±îÁö ƯÁ¤ SQL¹®ÀÇ ÀϺΠ¶Ç´Â Àüü¸¦ °áÁ¤ÇÒ ¼ö ¾ø´Â °æ¿ì ÀÌ´Â µ¿Àû Á¶ÀÛÀÔ´Ï´Ù. ÀÛ¾÷ SQLJ ÇÁ·Î±×·¥¿¡¼­ µ¿Àû SQL Á¶ÀÛÀ» ¼öÇàÇÏ·Á¸é JDBC¸¦ »ç¿ëÇϽʽÿÀ. ConnectionContext ¿ÀºêÁ§Æ®¿¡´Â JDBC ¿¬°á ¿ÀºêÁ§Æ®°¡ Àִµ¥ ÀÌ ¿ÀºêÁ§Æ®´Â µ¿Àû SQL Á¶ÀÛ¿¡ ÇÊ¿äÇÑ JDBC¹® ¿ÀºêÁ§Æ®¸¦ ÀÛ¼ºÇÏ´Â µ¥ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.

¸ðµç SQLJ ConnectionContext Ŭ·¡½º¿¡´Â Àμö·Î JDBC ¿¬°áÀ» ÃëÇÏ´Â ±¸¼ºÀÚ°¡ ÀÖ½À´Ï´Ù. ÀÌ ±¸¼ºÀÚ¸¦ »ç¿ëÇÏ¿©, JDBC ¿¬°áÀÇ ÀνºÅϽº¿Í ±× ±âº» µ¥ÀÌÅͺ£À̽º ¿¬°áÀ» °øÀ¯ÇÏ´Â SQLJ ¿¬°á ¹®¸Æ ÀνºÅϽº¸¦ ÀÛ¼ºÇÒ ¼ö ÀÖ½À´Ï´Ù.

¸ðµç SQLJ ConnectionContext ÀνºÅϽº¿¡´Â JDBC Connection ÀνºÅϽº¸¦ ¸®ÅÏÇÏ´Â getConnection() ¸Þ¼Òµå°¡ ÀÖ½À´Ï´Ù. ¸®ÅϵǴ JDBC Connection¿¡¼­´Â SQLJ ¿¬°á ¹®¸Æ°ú ±âº» µ¥ÀÌÅͺ£À̽º ¿¬°áÀ» °øÀ¯ÇÕ´Ï´Ù. À̸¦ »ç¿ëÇÏ¿© JDBC API¿¡ ¼³¸íµÈ µ¿Àû SQL Á¶ÀÛÀ» ½ÇÇàÇÒ ¼öµµ ÀÖ½À´Ï´Ù.

¼¼¼Ç °øÀ¯

À§¿¡¼­ ¼³¸íÇÑ »óÈ£¿î¿ë¼º ¹æ¹ýÀ» »ç¿ëÇϸé SQLJ¿¡ »ç¿ëµÈ ¿¬°á Ãß»ó°ú JDBC¿¡ »ç¿ëµÈ Ãß»ó »çÀÌ¿¡¼­ º¯È¯ÇÒ ¼ö ÀÖ½À´Ï´Ù. µÎ Ãß»óÀº µ¿ÀÏ µ¥ÀÌÅͺ£À̽º ¼¼¼Ç Áï, ±âº» µ¥ÀÌÅͺ£À̽º ¿¬°áÀ» °øÀ¯ÇÕ´Ï´Ù. µû¶ó¼­ ÇÑ ¿ÀºêÁ§Æ®ÀÇ ¼¼¼Ç »óÅ¿¡ ¿µÇâÀ» ÁÖ´Â ¸Þ¼Òµå¿¡ ´ëÇÑ È£ÃâÀº ´Ù¸¥ ¿ÀºêÁ§Æ®¿¡µµ ¹Ý¿µµË´Ï´Ù. ½ÇÁ¦·Î ¿µÇâÀ» ¹Þ´Â ±âº» °øÀ¯ ¼¼¼ÇÀ̹ǷΠ±×·¸½À´Ï´Ù.

JDBC¿¡¼­´Â »õ·Î ÀÛ¼ºµÈ ¿¬°áÀÇ ¼¼¼Ç »óÅ¿¡ ´ëÇÑ ±âº» °ªÀ» Á¤ÀÇÇÕ´Ï´Ù. ´ëºÎºÐÀÇ °æ¿ì SQLJ¿¡¼­´Â ÀÌ·± ±âº»°ªÀ» äÅÃÇÕ´Ï´Ù. ±×·¯³ª »õ·Î ÀÛ¼ºµÈ JDBC ¿¬°á¿¡ ±âº»ÀûÀ¸·Î ÀÚµ¿ È®¾à ¸ðµå°¡ Æ÷ÇÔµÈ ¹Ý¸é SQLJ ¿¬°á ¹®¸ÆÀÇ °æ¿ì ±¸¼º½Ã ÀÚµ¿ È®¾à ¸ðµå¸¦ ¸í½ÃÀûÀ¸·Î ÁöÁ¤ÇØ¾ß ÇÕ´Ï´Ù.

JavaÀÇ ¿¬°á ÀÚ¿ø °ü¸®

¿¬°á ¹®¸Æ ÀνºÅϽºÀÇ close() ¸Þ¼Òµå¸¦ È£ÃâÇÏ¸é ¿¬°üµÈ JDBC ¿¬°á ÀνºÅϽº¿Í ±âº» µ¥ÀÌÅͺ£À̽º ¿¬°áÀÌ ´ÝÈü´Ï´Ù. ¿¬°á ¹®¸ÆÀÌ ´Ù¸¥ ¿¬°á ¹®¸Æ ¹×/¶Ç´Â JDBC ¿¬°á°ú ±âº» µ¥ÀÌÅͺ£À̽º ¿¬°áÀ» °øÀ¯ÇÒ ¼ö ÀÖÀ¸¹Ç·Î ¿¬°á ¹®¸ÆÀÌ ´ÝÈú¶§ ±âº» µ¥ÀÌÅͺ£À̽º ¿¬°áÀ» ´Ý´Â °ÍÀÌ ÁÁÁö ¾ÊÀ» ¼ö ÀÖ½À´Ï´Ù. ÇÁ·Î±×·¡¸Ó°¡ ±âº» µ¥ÀÌÅͺ£À̽º ¿¬°áÀ» ½ÇÁ¦·Î ´ÝÁö ¾Ê°í ¸í·É¹® ÇÚµé°ú °°Àº ¿¬°á ¹®¸ÆÀ¸·Î À¯Áöº¸¼öµÇ´Â ÀÚ¿øÀ» ÇØÁ¦ÇÏ·Á´Â °æ¿ì°¡ ÀÖÀ» ¼ö ÀÖ½À´Ï´Ù. ÀÌ ¸ñÀûÀ» À§ÇØ ¿¬°á ¹®¸Æ Ŭ·¡½º¿¡¼­´Â close() ¸Þ¼Òµåµµ Áö¿øÇÕ´Ï´Ù. ÀÌ ¸Þ¼Òµå´Â ±âº» µ¥ÀÌÅͺ£À̽º ¿¬°áÀ» ´ÝÀ» Áö ¿©ºÎ¸¦ Áö½ÃÇÏ´Â ºÎ¿ï°ª Àμö¸¦ ÃëÇÕ´Ï´Ù. Áï, µ¥ÀÌÅͺ£À̽º ¿¬°áÀ» ´Ý¾Æ¾ß ÇÒ °æ¿ì CLOSE_CONNECTION »ó¼ö, À¯ÁöÇØ¾ß ÇÒ °æ¿ì KEEP_CONNECTION »ó¼ö¸¦ ¸®ÅÏÇÕ´Ï´Ù. Àμö¸¦ ÃëÇÏÁö ¾Ê´Â close()ÀÇ º¯ÀÌ ¸Þ¼Òµå´Â close(CLOSE_CONNECTION)¸¦ È£ÃâÇÏ´Â ´ÜÃà ¹æ¹ýÀÔ´Ï´Ù.

ºñ»ç¿ë ¸Þ¸ð¸® Á¤¸®(garbage collected)¸¦ ½ÇÇàÇϱâ Àü¿¡ ¿¬°á ¹®¸Æ ÀνºÅϽº¸¦ ¸í½ÃÀûÀ¸·Î ´ÝÁö ¾ÊÀº °æ¿ì ¿¬°á ¹®¸ÆÀÇ ÃÖÁ¾ Á¤¸® ¸Þ¼Òµå¿¡¼­ close(KEEP_CONNECTION)¸¦ È£ÃâÇÕ´Ï´Ù. µû¶ó¼­ ¿¬°á °ü·Ã ÀÚ¿øÀ» »ç¿ëÇÒ ¼ö ÀÖ´Â ´Ù¸¥ JDBC ¹× SQLJ ¿ÀºêÁ§Æ®¿¡ ´ëÇÑ ±âº» µ¥ÀÌÅͺ£À̽º ¿¬°áÀ» À¯ÁöÇÏ´Â µ¿¾È ÀÏ¹Ý ºñ»ç¿ë ¸Þ¸ð¸® Á¤¸® ÇÁ·Î¼¼½º¿¡¼­ ÀÌ ÀÚ¿øÀ» Àç»ýÇÒ ¼ö ÀÖ½À´Ï´Ù. ¿¬°áÀ» »ç¿ëÇÏ´Â ´Ù¸¥ JDBC ¶Ç´Â SQLJ ¿ÀºêÁ§Æ®°¡ ¾øÀ» °æ¿ì µ¥ÀÌÅͺ£À̽º ¿¬°áÀº ´ÝÈ÷°í ºñ»ç¿ë ¸Þ¸ð¸® Á¤¸® ÇÁ·Î¼¼½º¿¡¼­ Àç»ýÇÕ´Ï´Ù.

SQLJ ¿¬°á ¹®¸Æ ¿ÀºêÁ§Æ®¿Í JDBC ¿¬°á ¿ÀºêÁ§Æ®´Â close() ¸Þ¼Òµå¿¡ ÀÀ´äÇÕ´Ï´Ù. SQLJ ÇÁ·Î±×·¥À» ÀÛ¼ºÇÏ¸é ¿¬°á ¹®¸Æ ¿ÀºêÁ§Æ®¿¡¼­¸¸ close() ¸Þ¼Òµå¸¦ È£ÃâÇÏ´Â °ÍÀ¸·Î ÃæºÐÇÕ´Ï´Ù. ¿¬°á ¹®¸ÆÀ» ´ÝÀ¸¸é ±×¿Í ¿¬°üµÈ JDBC ¿¬°áµµ ´ÝÈ÷±â ¶§¹®ÀÔ´Ï´Ù. ±×·¯³ª ¿¬°á ¹®¸ÆÀÇ getConnection() ¸Þ¼Òµå¿¡¼­ ¸®ÅÏÇÑ JDBC ¿¬°á¸¸ ´Ý´Â °ÍÀ¸·Î´Â ÃæºÐÇÏÁö ¾Ê½À´Ï´Ù. JDBC ¿¬°áÀÇ close() ¸Þ¼Òµå·Î ÀÎÇØ Æ÷ÇÔ ÁßÀÎ ¿¬°á ¹®¸ÆÀÌ ´ÝÈ÷Áö ¾ÊÀ¸¹Ç·Î ¿¬°á ¹®¸Æ¿¡¼­ À¯ÁöÇÏ´Â ÀÚ¿øÀÌ ºñ»ç¿ë ¸Þ¸ð¸® Á¤¸® ÇÁ·Î¼¼½º·Î Á¤¸®µÇ±â Àü±îÁö ÇØÁ¦µÇÁö ¾Ê±â ¶§¹®ÀÔ´Ï´Ù.

¿¬°á ¹®¸Æ ÀνºÅϽº¿¡¼­ close() ¸Þ¼ÒµåÀÇ º¯À̰¡ È£ÃâµÉ °æ¿ì ¿¬°á ¹®¸ÆÀÇ isClosed() ¸Þ¼Òµå´Â true¸¦ ¸®ÅÏÇÕ´Ï´Ù. isClosed()¿¡¼­ true¸¦ ¸®ÅÏÇÒ °æ¿ì close() È£ÃâÀº ¾Æ¹«·± ¿µÇâµµ ÁÖÁö ¾ÊÀ¸¸ç ¶Ç ´Ù¸¥ ¸Þ¼Òµå È£ÃâÀº Á¤ÀǵÇÁö ¾Ê½À´Ï´Ù.


[ ÆäÀÌÁöÀÇ ¸Ç À§ | ÀÌÀü ÆäÀÌÁö | ´ÙÀ½ ÆäÀÌÁö | ¸ñÂ÷ | »öÀÎ ]