¼Ò¼³°°Àº ÀÚ¹Ù 4ºÎ  Á¦19Àå µ¥ÀÌÅͺ£À̽º  19.11.1 ¹ü¿ëÀûÀÎ JDBC ¸¸µé±â  

 

    19.11.1 ¹ü¿ëÀûÀÎ JDBC ¾ÖÇø®ÄÉÀÌ¼Ç ¸¸µé±â

 

ÀϹÝÀûÀÎ JDBC ±â¹ÝÀÇ ¾ÖÇø®ÄÉÀ̼ÇÀ» »ìÆìº¸¸é, Å©°Ô JDBCµå¶óÀ̹ö¸¦ »ç¿ëÇØ¼­ µ¥ÀÌÅͺ£À̽º Ä¿³Ø¼ÇÀ» ¾ò¾î¿À´Â ºÎºÐ°ú ±× Ä¿³Ø¼ÇÀ» ÅëÇØ¼­ µ¥ÀÌÅͺ£À̽º ÀÛ¾÷À» ¼öÇàÇÏ´Â ºÎºÐÀ¸·Î ³ª´©¾î Áý´Ï´Ù. µ¥ÀÌÅͺ£À̽º Ä¿³Ø¼ÇÀ» ¾ò¾î¿À´Â ºÎºÐÀº JDBCµå¶óÀ̹ö¸¦ ·ÎµùÇϰí, ·Îµù µÈ µå¶óÀ̹ö·ÎºÎÅÍ ½ÇÁ¦ Ä¿³Ø¼ÇÀ» ¸¸µå´Â °úÁ¤À¸·Î ³ª´©¾î Áý´Ï´Ù. ¾Æ·¡ ¿¹Á¦´Â JDBCµå¶óÀ̹ö¸¦ »ç¿ëÇØ¼­ µ¥ÀÌÅͺ£À̽º Ä¿³Ø¼ÇÀ» ¾ò¾î¿À´Â ºÎºÐÀÔ´Ï´Ù.

 

JDBCµå¶óÀ̹ö¸¦ »ç¿ëÇØ¼­ µ¥ÀÌÅͺ£À̽º Ä¿³Ø¼ÇÀ» ¾ò¾î¿À´Â ¿¹Á¦

¡¦

try {

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

Connection conn =

DriverManager.getConnection("jdbc:odbc:dbdsn","id","password");

} catch(ClassNotFoundException cnfe) {

¡¦

} catch(SQLException sqle) {

¡¦

}

¡¦

 

 ±½Àº ±Û¾¾·Î Ç¥ÇöÇÑ ºÎºÐÀº ¾ÖÇø®ÄÉÀ̼ÇÀÌ »ç¿ëÇÏ´Â DBMS³ª JDBCµå¶óÀ̹ö¿¡ µû¶ó ´Þ¶óÁö´Â ºÎºÐµéÀÔ´Ï´Ù. ¿¹¸¦ µé¾î À§ ¿¹Á¦¿¡¼­ ODBC¿ë µå¶óÀ̹ö ´ë½Å¿¡, Oracle¿¡¼­ Á¦°øÇÏ´Â JDBC thin µå¶óÀ̹ö¸¦ »ç¿ëÇÑ´Ù¸é, "sun.jdbc.odbc.JdbcOdbcDriver" ´ë½Å "oracle.jdbc.driver.OracleDriver"¸¦ ·ÎµùÇØ¾ß Çϰí, DriverManager.getConnection()¸Þ¼­µå¸¦ »ç¿ëÇÒ ¶§µµ À§ ¿¹Á¦¿Í´Â ´Ù¸¥ Çü½ÄÀÇ URLÀ» »ç¿ëÇØ¾ß ÇÒ °ÍÀÔ´Ï´Ù. ÀÌ ¸»Àº, ¿©·¯ºÐÀÌ ¸¸µç JDBC ±â¹ÝÀÇ ¾ÖÇø®ÄÉÀ̼ÇÀÌ ¼­ºñ½º µÇ´Â ȯ°æ¿¡ µû¶ó Äڵ尡 ¸Å¹ø ¼öÁ¤µÇ¾î¾ß Çϰí, ´Ù½Ã ÄÄÆÄÀÏ µÇ¾î¾ß ÇÑ´Ù´Â ¾ê±â ÀÔ´Ï´Ù.

 

ÀÌó·³, ¼­ºñ½º µÇ´Â ȯ°æ°ú ¾ÖÇø®ÄÉÀ̼ÇÀÇ ±¸ÇöÀÌ ¹­¿© ÀÖ´Â °ÍÀ» Ä¿Çøµ(coupling) µÇ¾îÀÖ´Ù¶ó°í ÇÕ´Ï´Ù. Ä¿ÇøµÀÇ Á¤µµ°¡ ³ôÀ»¼ö·Ï ¾ÖÇø®ÄÉÀ̼ÇÀº ¹ü¿ë¼ºÀ» ÀÒ°í, µ¥ÀÌÅͺ£À̽º °°Àº Ư¼öÇÑ È¯°æ¿¡ Á¾¼ÓÀûÀÌ°Ô µË´Ï´Ù. »Ó¸¸ ¾Æ´Ï¶ó, µ¥ÀÌÅͺ£À̽º Ä¿³Ø¼ÇÀ» ¾ò¾î¿À´Â ºÎºÐÀº ClassNotFoundException À̳ª SQLException °°Àº ¿¹¿Ü»óȲ¿¡ ´ëÇÑ Ã³¸®¿¡µµ ½Å°æÀ» ½áÁà¾ß ÇÕ´Ï´Ù. Ä¿³Ø¼ÇÀ» ¾ò¾î¿Ã ¶§¸¶´Ù ÀÌ·¸°Ô ¿¹¿Ü 󸮸¦ ÇØÁà¾ß ÇÑ´Ù¸é Àüü Äڵ嵵 º¹ÀâÇØÁö°í, ±×¸¸Å­ ¿¡·¯°¡ ¹ß»ýÇÒ È®·üµµ ³ô¾ÆÁú °ÍÀÔ´Ï´Ù.

 

¢Ñ coupling

ÇϳªÀÇ ¼ÒÇÁÆ®¿þ¾î¸¦ ±¸¼ºÇÏ´Â °¢°¢ÀÇ ¸ðµâ »çÀÌ¿¡ Á¸ÀçÇÏ´Â ÀÇÁ¸µµ. ÀϹÝÀûÀ¸·Î µÎ °³ÀÇ ¸ðµâ »çÀÌ¿¡ ÀÇÁ¸µµ°¡ ³ôÀ»¼ö·Ï Ä¿ÇøµÀÌ °­Çϰųª ³ô´Ù°í Çϴµ¥, Ä¿ÇøµÀÌ ¾àÇÒ¼ö·Ï ¼ÒÇÁÆ®¿þ¾î ¸ðµâÀÌ Àß ¼³°èµÇ¾ú´Ù°í ÇÑ´Ù.

 

¿ì¸®´Â µ¥ÀÌÅͺ£À̽º Ä¿³Ø¼ÇÀ» ¾ò¾î¿À´Â ºÎºÐ°°ÀÌ Ä¿ÇøµÀÌ ³ô°í ¿¹¿Ü󸮿¡ ¹Î°¨ÇÑ ÄÚµåµéÀ» Àüü ¾ÖÇø®ÄÉÀ̼ÇÀ¸·ÎºÎÅÍ µû·Î ¶¼¾î ³»´Â ¹æ½ÄÀ» »ç¿ëÇÔÀ¸·Î½á Àüü ¾ÖÇø®ÄÉÀ̼ÇÀÇ À̽ļºÀ» ³ôÀÌ°í ¿¡·¯°¡ ¹ß»ýÇÒ È®·üÀ» ÁÙÀÏ ¼ö ÀÖ½À´Ï´Ù. Áï, µ¥ÀÌÅͺ£À̽º·ÎºÎÅÍ Ä¿³Ø¼ÇÀ» ¾ò¾î¿À´Â ¸ðµç °úÁ¤À» Àü´ãÇÏ´Â µµ±¸Çü Ŭ·¡½º¸¦ µû·Î ¸¸µé¾î¼­, ÇÊ¿äÇÒ ¶§ ¸¶´Ù ±× Ŭ·¡½º¿¡°Ô Ä¿³Ø¼ÇÀ» ¸¸µé¾î ´Þ¶ó°í ¿äûÇÏ´Â °ÍÀÔ´Ï´Ù. ÀÌ·¯ÇÑ Å¬·¡½º¸¦ ¡°Æ¯Á¤ °´Ã¼¸¦ ¸¸µé¾î Áش١± ÇÏ¿© ¡®ÆÑÅ丮(Factory : °øÀå) Ŭ·¡½º¶ó¡¯°í ºÎ¸¨´Ï´Ù. ´ÙÀ½ ±×¸²Àº ÆÑÅ丮 Ŭ·¡½ºÀÇ »ç¿ë ¿¹ÀÔ´Ï´Ù.

 

±×¸² 19‑8 ConnectionFactory·ÎºÎÅÍ ConnectionÀ» ¿äÃ»ÇØ¼­ ¾ò¾î¿À´Â ºÎºÐ

µ¥ÀÌÅͺ£À̽º Ä¿³Ø¼ÇÀ» ¾ò¾î¿À´Â ºÎºÐ¿¡ ÆÑÅ丮 Ŭ·¡½º¸¦ »ç¿ëÇÔÀ¸·Î½á ¿ì¸®°¡ ¾òÀ» ¼ö ÀÖ´Â ÀåÁ¡Àº ´ÙÀ½°ú °°½À´Ï´Ù.

 

n        ¾ÖÇø®ÄÉÀ̼ÇÀÌ DBMS³ª JDBCµå¶óÀ̹ö¿¡ ´ëÇØ µ¶¸³ÀûÀ¸·Î ÀÛµ¿

n        ¿¹¿Ü ó¸® °°Àº ºÎºÐÀ» ½Å°æ ¾²Áö ¾ÊÀ½À¸·Î½á, ½ÇÁ¦ ¼­ºñ½º ÇÏ´Â ºÎºÐ¿¡¸¸ ÁýÁßÇÒ ¼ö ÀÖÀ½

n        ÆÑÅ丮 Ŭ·¡½º¸¦ ´Ù¸¥ ÆÀ°ú °øÀ¯ÇÔÀ¸·Î½á, Çù·Â ÀÛ¾÷ ½Ã À¯¸®

n        ¾ÖÇø®ÄÉÀ̼ÇÀÇ À¯Áö, º¸¼ö ¿ëÀÌ

 

À̹ø Àý¿¡¼­´Â ½ÇÁ¦·Î µ¥ÀÌÅͺ£À̽º Ä¿³Ø¼ÇÀ» ¸¸µé¾î ÁÖ´Â ConnectionFactory¶ó´Â °£´ÜÇÑ ÆÑÅ丮 Ŭ·¡½º¸¦ ¸¸µé¾î º¸¸é¼­ À§¿¡¼­ ¼³¸íÇÑ ÀåÁ¡µéÀÌ ¾î¶² Àǹ̸¦ °¡Áö´ÂÁö »ìÆìº¸°Ú½À´Ï´Ù.

 

ConnectionFactoryŬ·¡½ºÀÇ ÁÖµÈ ¿ªÇÒÀº µ¥ÀÌÅͺ£À̽º¿¡ Ä¿³Ø¼ÇÀ» ¸¸µé±â À§ÇÑ ¼¼ºÎ ±¸ÇöÀ» °¨ÃçÁÖ°í, Ä¿³Ø¼ÇÀ» ¿äûÇÑ ClientŬ·¡½º¿¡°Ô Ãß»óÈ­µÈ ÀÎÅÍÆäÀ̽º¸¦ Á¦°øÇÏ´Â °ÍÀÔ´Ï´Ù. ½ÇÁ¦·Î ¿ì¸®°¡ ¸¸µé ConnectionFactoryŬ·¡½º´Â JDBCµå¶óÀ̹öÀÇ ·ÎµùÀ̳ª DriverManagerŬ·¡½ºÀÇ getConnection()¸Þ¼­µå¸¦ È£ÃâÇÏ´Â ÀÏ, ¿¹¿Ü ó¸® µî°ú °°Àº ÀϵéÀ» Á÷Á¢ ó¸®ÇØ ÁÖ°í, Client Ŭ·¡½º¿¡°Ô´Â getConnection()À̶ó´Â ¸Þ¼­µå Çϳª¸¸À» È£ÃâÇÏ¸é µ¥ÀÌÅͺ£À̽º Ä¿³Ø¼ÇÀ» ¾òÀ» ¼ö ÀÖµµ·Ï Ãß»óÈ­µÈ ÀÎÅÍÆäÀ̽º¸¦ Á¦°øÇÏ´Â °ÍÀÔ´Ï´Ù. ´ÙÀ½Àº °£´ÜÇÑ ConnectionFactoryŬ·¡½ºÀÇ ÄÚµå ÀÔ´Ï´Ù.

 

ConnectionFactory.java(ÆÑÅ丮 Ŭ·¡½º¸¦ ÀÛ¼ºÇÏ´Â ¿¹)

import java.sql.*;

public class ConnectionFactory {

   public ConnectionFactory() {}

   public Connection getConnection()

   throws SQLException {

       Connection conn = null;

       try {

          Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

        conn = DriverManager.getConnection("jdbc:odbc:dbdsn", "id", "password");

       }

       catch (ClassNotFoundException cnfe) {

          System.out.println(cnfe);

       }

       return conn;

   }

}

C:\JavaExample\19> javac ConnectionFactory.java

 

ConnectionFactoryŬ·¡½º¿¡ ±¸ÇöµÇ¾î ÀÖ´Â getConnection()¸Þ¼­µåÀÇ ³»¿ëÀ» º¸½Ã¸é, ¿ì¸®°¡ ÀÌÀü¿¡ µ¥ÀÌÅͺ£À̽º Ä¿³Ø¼ÇÀ» ¾ò¾î¿À±â À§ÇØ ¼öÇàÇß´ø °úÁ¤µéÀÌ ±×´ë·Î ±¸ÇöµÇ¾î ÀÖ½À´Ï´Ù. ÀÌ Å¬·¡½º ¸¸À¸·Î´Â ÆÑÅ丮 Ŭ·¡½º°¡ º°°Å ¾Æ´Ï¶ó°í »ý°¢ ÇÏ½Ç ¼öµµ ÀÖ½À´Ï´Ù. ÆÑÅ丮 Ŭ·¡½ºÀÇ ÀåÁ¡À» ¾Ë¾Æ º¸±â À§ÇØ, ÀÌ ÆÑÅ丮 Ŭ·¡½º¸¦ »ç¿ëÇÒ ClientŬ·¡½º¸¦ ÀÛ¼ºÇØ º¸°Ú½À´Ï´Ù.

 

ClientClass.java(ÆÑÅ丮 Ŭ·¡½º¸¦ »ç¿ëÇÏ´Â ¿¹Á¦)

import java.sql.*;

public class ClientClass {

   public static void main(String[] args) throws SQLException {

       Connection conn = new ConnectionFactory().getConnection();

       if (conn != null) {

          Statement stmt = conn.createStatement();

          ResultSet rs = stmt.executeQuery("SELECT * FROM MyTest");

          rs.close();

          stmt.close();

          conn.close();

       }

   }

}

C:\JavaExample\19> javac ClientClass.java

C:\JavaExample\19>java ClientClass

 

ÇöÀç´Â ¾Æ¹«°Íµµ Ãâ·ÂÇÏÁö ¾Ê½À´Ï´Ù. ´ÜÁö ClientŬ·¡½º°¡ µ¥ÀÌÅͺ£À̽º Ä¿³Ø¼ÇÀ» ¾ò¾î¿À´Â ºÎºÐÀ» ÁýÁßÇØ ÁֽʽÿÀ. ÀÌÀüÀÇ JDBC¸¦ »ç¿ëÇÑ ¿¹Á¦µé¿¡¼­ º¹ÀâÇÑ °úÁ¤À» °ÅÃÆ´ø °Í°ú´Â ´Þ¸®, ´ÙÀ½°ú °°ÀÌ ¸Þ¼­µå È£Ãâ ÇѹøÀ¸·Î Ãß»óÈ­ µÇ¾î ÀÖ½À´Ï´Ù.

 

n       new ConnectionFactory().getConnection();

 

 ClientŬ·¡½º´Â ´ÜÁö ConnectionFactoryŬ·¡½ºÀÇ getConnection()¸Þ¼­µå¸¦ È£ÃâÇÔÀ¸·Î½á, µ¥ÀÌÅͺ£À̽º ó¸® ÀÛ¾÷¿¡¸¸ ÁýÁßÇÒ ¼ö ÀÖ½À´Ï´Ù. óÀ½¿¡ Á¦½ÃÇß´ø ¹®Á¦·Î µ¹¾Æ°¡¼­, ¿ì¸®ÀÇ ¾ÖÇø®ÄÉÀ̼ÇÀÌ »ç¿ëÇÏ´Â µ¥ÀÌÅͺ£À̽º ½Ã½ºÅÛÀÌ º¯°æµÇ¾ú°Å³ª JDBCµå¶óÀ̹öÀÇ Á¾·ù°¡ º¯°æµÇ¾ú´Ù°í °¡Á¤ÇØ º¾½Ã´Ù. ConnectionFactoryŬ·¡½º¸¦ »ç¿ëÇØ¼­ ÀÛ¼ºµÈ ClientŬ·¡½º´Â Á¶±ÝÀÇ º¯°æµµ °¡ÇØÁú Çʿ䰡 ¾ø½À´Ï´Ù. ´ÜÁö, ConnectionFactoryŬ·¡½ºÀÇ getConnection()¸Þ¼­µå¸¸ÀÌ ÀϺΠº¯°æµÉ »ÓÀÔ´Ï´Ù.

 

¸¸¾à µ¥ÀÌÅͺ£À̽º·ÎºÎÅÍ Ä¿³Ø¼ÇÀ» ¾ò¾î¿Í »ç¿ëÇÏ´Â ClientŬ·¡½ºµéÀÇ ¼ö°¡ ¸¹¾Ò´Ù°í »ý°¢ÇØ º¾½Ã´Ù. ÀÌ °æ¿ì, ConnectionFactoryŬ·¡½º°¡ Á¦°øÇÏ´Â Ãß»óÈ­µÈ ÀÎÅÍÆäÀ̽º´Â ´õ¿í ºûÀ» ¹ßÈÖÇÕ´Ï´Ù. ConnectionFactoryŬ·¡½º¸¦ »ç¿ëÇÏÁö ¾ÊÀº °æ¿ì, µ¥ÀÌÅͺ£À̽º Ä¿³Ø¼ÇÀ» ¾ò¾î¿À´Â ¸ðµç Ŭ·¡½ºµéÀ» ÀÏÀÏÀÌ ¼öÁ¤ÇØÁà¾ß ÇÏ´Â ¹Ý¸é, ConnectionFactoryŬ·¡½º¸¦ »ç¿ëÇßÀ» ¶§´Â ´ÜÁö, ConnectionFactoryŬ·¡½º¸¸ Á¶±Ý ¼Õº¸¸é µË´Ï´Ù. ÀÌ·¯ÇÑ Á¡Àº ±Ô¸ð°¡ Å« ÇÁ·ÎÁ§Æ®¸¦ °³¹ßÇϱâ À§ÇØ ¿©·¯ »ç¶÷°ú ÇÔ²² Çù·Â ÀÛ¾÷À» ÇÒ ¶§, Áß¾Ó ÁýÁßÇüÀÇ À¯Áö, º¸¼ö¸¦ °¡´ÉÇÏ°Ô ÇØÁÝ´Ï´Ù.

 

ConnectionFactory Ŭ·¡½º°¡ ³Ê¹« ´Ü¼øÇÏ´Ù°í »ý°¢ÇÏ´Â »ç¶÷µéÀ» À§Çؼ­, ¿©·¯ Á¾·ùÀÇ JDBCµå¶óÀ̹ö¸¦ »ç¿ëÇØ¼­ µ¥ÀÌÅͺ£À̽º Ä¿³Ø¼ÇÀ» ¸¸µé¾î ÁÖ´Â È®ÀåµÈ ConnectionFactoryŬ·¡½º¸¦ ¸¸µé¾î º¸°Ú½À´Ï´Ù. È®ÀåµÈ ConnectionFactoryŬ·¡½º´Â ClientŬ·¡½º°¡ getConnection()¸Þ¼­µå¸¦ È£ÃâÇÒ ¶§, ClientŬ·¡½º°¡ »ç¿ëÇÏ·Á´Â JDBCµå¶óÀ̹öÀÇ Á¤º¸¸¦ ³Ñ°Ü¹Þ¾Æ¼­ ÇØ´çÇÏ´Â µ¥ÀÌÅͺ£À̽º Ä¿³Ø¼ÇÀ» ¸¸µé¾î ÁÝ´Ï´Ù. ´ÙÀ½Àº È®ÀåµÈ ConnectionFactory Ŭ·¡½ºÀÇ Àüü ÄÚµå ÀÔ´Ï´Ù.

 

ConnectionFactory1.java(È®ÀåµÈ ÆÑÅ丮 Ŭ·¡½º¸¦ »ç¿ëÇÏ´Â ¿¹)

import java.sql.*;

public class ConnectionFactory1 {

   public static final int ODBC = 1;

   public static final int ORACLE = 2;

   public ConnectionFactory1() {}

   public Connection getConnection(int dbms)  throws SQLException {

       Connection conn = null;

       if (dbms == ConnectionFactory1.ODBC) {

          try{

             Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

           conn = DriverManager.getConnection("jdbc:odbc:dbdsn", "id", "password");

          }catch (ClassNotFoundException cnfe) {

             System.out.println(cnfe);

          }

       } else if (dbms == ConnectionFactory1.ORACLE) {

          try {

             Class.forName("oracle.jdbc.driver.OracleDriver");

          conn = DriverManager.getConnection("jdbc:oracle:thin:@ip_address:port:ORACLE"

                                                                 , "id", "password");

          }catch (ClassNotFoundException cnfe) {

             System.out.println(cnfe);

          }        

       }

       return conn;

   }

}

C:\JavaExample\19> javac ConnectionFactory1.java

 

ConnectionFactory1 Ŭ·¡½º´Â ClientŬ·¡½º°¡ »ç¿ëÇÒ JDBCµå¶óÀ̹ö¸¦ ¼±ÅÃÇÒ ¼ö ÀÖµµ·Ï, staticÀ¸·Î ¼±¾ðµÈ º¯¼öµéÀ» Á¤ÀÇÇØ ³õ¾Ò½À´Ï´Ù.

 

n        public static final int ODBC = 1;

n        public static final int ORACLE = 2;

 

Client Ŭ·¡½º°¡ getConnection()¸Þ¼­µå¿¡°Ô ¸Å°³ º¯¼ö·Î ³Ñ°ÜÁØ °ª°ú ºñ±³Çؼ­ Client Ŭ·¡½º°¡ »ç¿ëÇÏ·Á´Â JDBCµå¶óÀ̹öÀÇ Á¾·ù¸¦ ¾Ë¾Æ³À´Ï´Ù.

 

getConnection()¸Þ¼­µå¿¡¼­ ClientŬ·¡½º°¡ »ç¿ëÇÒ JDBCµå¶óÀ̹ö¸¦ ¼±ÅÃÇÏ´Â ºÎºÐ

If (dbms == ConnectionFactory1.ODBC){

¡¦ // ODBC µå¶óÀ̹ö¸¦ »ç¿ëÇØ¼­ Ä¿³Ø¼ÇÀ» ¸¸µê

}

else if (dbms == ConnectionFactory1.ORACLE){

¡¦ // ORACLE µå¶óÀ̹ö¸¦ »ç¿ëÇØ¼­ Ä¿³Ø¼ÇÀ» ¸¸µê

}

 

´ÙÀ½Àº È®ÀåµÈ ConnectionFactory1 Ŭ·¡½º¸¦ »ç¿ëÇÏ´Â Client Ŭ·¡½ºÀÇ Àüü ÄÚµå ÀÔ´Ï´Ù.

 

ClientClass1.java(È®ÀåµÈ ÆÑÅ丮 Ŭ·¡½º¸¦ »ç¿ëÇÏ´Â ClientŬ·¡½º)

import java.sql.*;

public class ClientClass1 {

   public static void main(String[] args)

   throws SQLException   {

       Connection conn = new ConnectionFactory1().getConnection(ConnectionFactory1.ODBC);

       if (conn != null) {

          Statement stmt = conn.createStatement();

          ResultSet rs = stmt.executeQuery("SELECT * FROM My_Test");

          rs.close();

          stmt.close();

          conn.close();

       }

   }

}

C:\JavaExample\19>javac ClientClass1.java

C:\JavaExample\19>java ClientClass1

 

getConnection()¸Þ¼­µå¸¦ È£ÃâÇÒ ¶§, »ç¿ëÇÒ JDBCµå¶óÀ̹öÀÇ Á¾·ù¸¦ ¾Ë·ÁÁÖ´Â °ÍÀ» »©°í´Â ÀÌÀüÀÇ ClientClass¿Í µ¿ÀÏÇÕ´Ï´Ù.

 

n        new ConnectionFactory1.getConnection(ConnectionFactory1.ODBC);

 

 ConnectionFactoryŬ·¡½º´Â JDK¿¡ Á¸ÀçÇÏ´Â °ÍÀÌ ¾Æ´Ï¶ó ´ÜÁö ¹æ¹ý·Ð Ãø¸é¿¡¼­ Á¦½ÃÇϴ Ŭ·¡½ºÀÌ´Ï È¥µ¿ÇÏÁö ¸¶½Ã±â ¹Ù¶ø´Ï´Ù. ´ÙÀ½À¸·Î, ÆÑÅ丮 Ŭ·¡½º¿Í °°ÀÌ JDBC ¾ÖÇø®ÄÉÀ̼ǿ¡¼­ ÀÚÁÖ »ç¿ëµÇ´Â Connection Pooling ±â¹ý¿¡ ´ëÇØ »ìÆìº¸°Ú½À´Ï´Ù.



jabookÀúÀÚ¸íÇÔ
Á¦¸ñ:¼Ò¼³°°ÀºÀÚ¹Ù4ºÎ
ÀúÀÚ:ÃÖ¿µ°ü