¼Ò¼³°°ÀºJSP2ºÎ  8Àå JDBC¿Í JSP  06 Connection  

 

8.6 Connection

 

ConnectionÀº µ¥ÀÌÅͺ£À̽º¿¡ Á¢±ÙÇϱâ À§ÇÑ °´Ã¼¸¦ »ý¼ºÇÏ´Â ÀÎÅÍÆäÀ̽ºÀÔ´Ï´Ù. ConnectionÀ» ÅëÇØ¼­ Çѹø Á¢¼ÓÀÌ ÀÌ·ç¾îÁö¸é ¸ðµç ÀÛ¾÷µéÀº »ý¼ºµÈ °´Ã¼¸¦ ÅëÇØ¼­ ¼öÇàµË´Ï´Ù. ¿©±â¼­ ÁÖÀÇÇØ¾ß ÇÒ Á¡Àº ÀÛ¾÷ÀÌ ³¡³ª¸é ¹Ýµå½Ã close ¸Þ¼­µå¸¦ ½á¼­ ¿¬°áµÇ¾ú´ø ConnectionÀ» ´Ý¾Æ ÁÖ¾î¾ß ÇÑ´Ù´Â °ÍÀÔ´Ï´Ù. ±×·¸Áö ¾ÊÀ¸¸é ¼­¹öÀÇ ¸®¼Ò½º¸¦ °è¼Ó Â÷ÁöÇϰí Àֱ⠶§¹®ÀÌÁÒ.

 

Connection ¼ø¼­

n        µå¶óÀ̹ö·Îµù : Class.forName(Driver¸í);

n        Connection °´Ã¼ »ý¼º : Connection conn = DriverManager.getConnection(url);

n        DB¿ÍÀÇ ¿¬°á Á¾·á½Ã colse ¸Þ¼­µå »ç¿ë : conn.close();

 

µ¥ÀÌÅͺ£À̽º¿¡ ¿¬°áÇϰíÀÚ ÇÒ ¶§´Â, ¸ÕÀú Class Ŭ·¡½ºÀÇ forName ¸Þ¼­µå¸¦ ÀÌ¿ëÇÏ¿© ÇØ´ç µ¥ÀÌÅͺ£À̽ºÀÇ µå¶óÀ̹ö¸¦ ·ÎµùÇØÁà¾ß ÇÕ´Ï´Ù. java.sql.DriverManager Ŭ·¡½ºÀÇ getConnection ¸Þ¼­µå¸¦ »ç¿ëÇÏ¿© Java Virtual Machine¿¡ ·ÎµùµÇ¾îÁø µå¶óÀ̹öµéÁß¿¡¼­ ¸Å°³º¯¼ö·Î ÁÖ¾îÁø µ¥ÀÌŸº£À̽º URLÀ» ÀνÄÇÏ´Â µå¶óÀ̹ö¸¦ ã½À´Ï´Ù. ±×·¯ÇÑ µå¶óÀ̹ö¸¦ ã¾Æ³»¸é DriverManager Ŭ·¡½º´Â ±× µå¶óÀ̹ö·ÎºÎÅÍ µ¥ÀÌÅͺ£À̽º¿¡ ´ëÇÑ Á¢¼ÓÀ» ¾ò¾î³»´Â Connection °´Ã¼¸¦ »ý¼ºÇÕ´Ï´Ù.

 

ÀÌ °úÁ¤¿¡¼­ µÎ°¡ÁöÀÇ ¿¹¿Ü󸮸¦ ÇØÁÖ¾î¾ßÇÕ´Ï´Ù. µå¶óÀ̹ö ·Îµù°ú °ü·ÃµÈ ¿¹¿Ü·Î  ClassNotFoundExceptionÀÌ ¹ß»ýÇÒ ¼ö ÀÖ°í, µ¥ÀÌÅͺ£À̽º¿¡ ´ëÇÑ Á¢¼Ó¿¡ ´ëÇÑ ¿¹¿Ü·Î SQLExceptionÀÌ ¹ß»ýÇÒ ¼ö ÀÖ½À´Ï´Ù. ÇÏÁö¸¸ JSP¿¡¼­´Â ¸ðµç ¿¹¿Ü°¡ ÀÚµ¿À¸·Î 󸮵ǹǷΠ´ÜÁö ÀÌ·¯ÇÑ ¿¹¿Ü󸮸¦ ÇØÁÖ¾ú´Ù´Â °ÍÀ» °¨°¢ÀûÀ¸·Î ´À³¢½Ã¸é µË´Ï´Ù.

 

±×·¯¸é ½ÇÁ¦·Î Connection ÀÎÅÍÆäÀ̽ºÀÇ °´Ã¼ connÀ» »ý¼ºÇØ µ¥ÀÌÅͺ£À̽º¿¡ ¿¬°áÇÏ´Â ¿¹Á¦¸¦ »ìÆì º¸°Ú½À´Ï´Ù.

 

ConnectionTest.jsp

Connection °´Ã¼¸¦ Å×½ºÆ®ÇÑ ¿¹Á¦

<%@page contentType="text/html;charset=euc-kr" import="java.sql.*"%>
<html><body>
<h3>Connection Å×½ºÆ® </h3><br>
<%
Class.forName(
"com.microsoft.jdbc.sqlserver.SQLServerDriver"
);
Connection conn = DriverManager.getConnection(
"jdbc:microsoft:sqlserver://localhost:1433;
DatabaseName=noveljsp;user=novel;password=jsp"
);
out.print(
"DB¿Í ¿¬°áµÇ¾ú½À´Ï´Ù."
);
%><br>
<%
conn.close();
out.print(
"¿¬°áÀÌ Á¾·áµÇ¾ú½À´Ï´Ù."
);
%>
</body></html>

 

Connection °´Ã¼´Â µ¥ÀÌÅͺ£À̽º·ÎÀÇ Á¢±ÙÀ» À§ÇÑ °´Ã¼¸¦ »ý¼ºÇØÁÖ´Â ÀÎÅÍÆäÀ̽º·Î¼­ »ç¿ë ÈÄ close ¸Þ¼­µå·Î ´Ý¾Æ ÁÖ¾î¾ß ÇÕ´Ï´Ù. Connection °´Ã¼´Â java.sql.DriverManager Ŭ·¡½ºÀÇ getConnection ¸Þ¼­µå·ÎºÎÅÍ »ý¼ºµÇ´Âµ¥ º¸ÅëÀº ´ÙÀ½°ú °°Àº Çü½ÄÀ¸·Î »ç¿ëÇÕ´Ï´Ù.

 

n        Connection conn = DriverManager.getConnection(url, user, password);

 

getConnection ¸Þ¼­µå´Â urlÀ» ¸Å°³º¯¼ö·Î °®½À´Ï´Ù. urlÀº µ¥ÀÌÅͺ£À̽º¿¡°Ô Àü´ÞÇÏ·Á´Â Á¤º¸¸¦ ´ã°í ÀÖ½À´Ï´Ù. user¿Í password´Â »ç¿ëÇÏ·Á´Â ¼­¹ö·Î Á¢¼ÓÇÒ ¶§ ÇÊ¿äÇÑ »ç¿ëÀÚ ÀÎÁõ Á¤º¸¸¦ ¸»ÇÕ´Ï´Ù. urlÀº ¾Æ·¡ÀÇ ¹æ¹ýÀ¸·Î »ç¿ëÇÕ´Ï´Ù.

 

n        urlÀÇ Çü½Ä à jdbc:microsoft:sqlserver://server_name:1433;propertys

 

À§ÀÇ urlÀ» ÇØ¼®Çغ¸¸é Microsoft»çÀÇ SQL ¼­¹ö¸¦ À§ÇØ ±¸ÇöÇÑ JDBC µå¶óÀ̹ö¸¦ »ç¿ëÇØ¼­ ÇØ´ç SQL ¼­¹ö°¡ Á¸ÀçÇÏ´Â IP ÁÖ¼ÒÀÇ 1433 Æ÷Æ®·Î ¿¬°áÇϰڴٴ ³»¿ëÀÔ´Ï´Ù. ±âº»ÀûÀ¸·Î url, user, password ¼¼°¡Áö¸¸À» »ç¿ëÇÏÁö¸¸, ƯÁ¤ÇÑ Database·ÎÀÇ Á¢¼ÓÀ» ¿øÇÑ´Ù´Â µîÀÇ  ¼¼¹ÐÇÑ ÁöÁ¤À» ÇÊ¿ä·Î ÇÒ ¶§¿¡´Â Property¸¦ »ç¿ëÇÕ´Ï´Ù. Property´Â ¡®¼Ó¼º=°ª¡¯ÀÇ Çü½ÄÀ¸·Î »ç¿ëµÇ¸ç Property¸¦ Ãß°¡ÇÒ ¶§¿¡´Â ¼¼¹ÌÄÝ·ÐÀ» »ç¿ëÇÏ¸é µË´Ï´Ù. Property¿¡´Â ´ÙÀ½ÀÇ °ÍµéÀÌ ÀÖ½À´Ï´Ù.

 

property

value

DatabaseName

Á¢¼ÓÇÏ·Á´Â SQL ¼­¹öÀÇ µ¥ÀÌÅͺ£À̽º¸í

User

»ç¿ëÀÚÀÇ À̸§

Password

»ç¿ëÀÚÀÇ ºñ¹Ð¹øÈ£

PortNumber

TCP Æ÷Æ®¹øÈ£. ±âº»°ªÀº 1443

ServerName

¿¬°áÇÏ·Á´Â SQL ¼­¹ö°¡ À§Ä¡Çϰí ÀÖ´Â IP ÁÖ¼Ò

Ç¥ 8-1 ConnectonÀÇ Properties

ÀÌ·¸°Ô ConnectionÀº µ¥ÀÌÅͺ£À̽º ÀÛ¾÷À» Çϱâ À§ÇÑ Àü ´Ü°è·Î µ¥ÀÌÅͺ£À̽º¿¡ ¿¬°áÀ» À§ÇØ »ç¿ëÇÏ´Â ÀÎÅÍÆäÀ̽ºÀÔ´Ï´Ù. ´ÙÀ½Àý¿¡¼­´Â Statement¿¡ ´ëÇØ ¾Ë¾Æº¸°Ú½À´Ï´Ù.

 

Connection ÀÎÅÍÆäÀ̽º ÁÖ¿ä ¸Þ¼­µå

public Statement createStatement() throws SQLException : SQL ÁúÀǵé°ú °»½ÅÀ» ¼öÇàÇϱâ À§ÇØ »ç¿ëµÇ¾îÁö´Â Statement °´Ã¼¸¦ »ý¼ºÇÕ´Ï´Ù.
public void close()
throws SQLException
: ÇöÀç ¿¬°áÀ» Áï½Ã ´Ý½À´Ï´Ù.
public void setAutoCommit(Boolean b)
throws SQLException
: ÇØ´ç ¿¬°á¿¡ ´ëÇÑ ÀÚµ¿ Ä¿¹Ô ¸ðµå¸¦ b·Î ¼³Á¤ÇÑ´Ù . ¸¸ÀÏ ÀÚµ¿ Ä¿¹ÔÀÌ true ÀÌ¸é ¸ðµç ±¸¹®Àº ½ÇÇàÀÌ ¿Ï·áµÇÀÚ ¸¶ÀÚ Ä¿¹Ô µË´Ï´Ù.
public boolean getAutoCommit()
throws SQLException
: ÇØ´ç ¿¬°á¿¡ ´ëÇÑ ÀÚµ¿ Ä¿¹Ô ¸ðµå¸¦ ¾ò¾î¿Â´Ù.
public void commit()
throws SQLException
: ¸¶Áö¸· Ä¿¹Ô ÀÌÈÄ¿¡ Á¦ÃâµÈ ¸ðµç ±¸¹®À» Ä¿¹Ô ÇÕ´Ï´Ù.
public void rollback()
throws SQLException: ¸¶Áö¸· Ä¿¹Ô ÀÌÈÄ¿¡ Á¦ÃâµÈ ¸ðµç ±¸¹®ÀÇ ¿µÇâÀ» ¹«È¿È­ÇÕ´Ï´Ù.

public PreparedStatement prepareStatement(String sql) throws SQLException : ¹Ì¸® ÄÄÆÄÀÏ µÈ ±¸¹®À» Æ÷ÇÔÇϰí ÀÖ´Â PreparedStatement °´Ã¼¸¦ »ý¼ºÇÕ´Ï´Ù.

 



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