JDBC¸¦ ±¸ÇöÇÏ´Â ÀýÂ÷¸¦ »ìÆìº¸°í, °£´ÜÇÑ ¿¹Á¦¸¦ ÅëÇØ¼ »ç¿ë¹ýÀ» ¾Ë¾Æº¸°Ú½À´Ï´Ù. ±âº»±¸ÇöÀ̶ó°í´Â ÇÏÁö¸¸, JDBC µå¶óÀ̹öÀÇ ·Îµù, ¿¬°á¼³Á¤, ÁúÀǼöÇà, °á°úó¸® µî JDBCÀÇ Àü¹ÝÀûÀÎ »ç¿ë¹ý¿¡ ´ëÇØ ¸ðµÎ »ìÆìº¼ °ÍÀÔ´Ï´Ù. ±×·³ ¸ÕÀú ±¸ÇöÀÇ ÀýÂ÷ºÎÅÍ »ìÆìº¸µµ·Ï ÇϰڽÀ´Ï´Ù.
JDBC ±¸ÇöÀÇ ÀýÂ÷
n JDBC ÀÎÅÍÆäÀ̽º ¹× Ŭ·¡½º¸¦ À§ÇÑ java.sql ÆÐŰÁö import
n JDBC Driver ·Îµù
n ¿¬°á URL Á¤ÀÇ ¹× DB·ÎÀÇ Connection¾ò±â
n ConnectionÀ¸·ÎºÎÅÍ Statement °´Ã¼ »ý¼º
n SQL¹® ½ÇÇà
n SQL¹® ¹Ýȯ°á°ú ó¸®
n ¿¬°á ´ÝÀ½
ÀÌ·± ÀýÂ÷µéÀ» ¿¹Á¦¿Í ÇÔ²² Â÷·Ê·Î ¾Ë¾Æº¸µµ·Ï ÇϰڽÀ´Ï´Ù. ¿¹Á¦¸¦ ¼³¸í µå¸®±â Àü¿¡ ¸ÕÀú ¿©·¯ºÐÀº Å×½ºÆ®¸¦ À§ÇØ µ¥ÀÌÅͺ£À̽º ¼³Á¤À» ÇØ¾ß ÇÕ´Ï´Ù. ¿©±â¼´Â Àü¿¡ ¸»¾¸ µå¸° ´ë·Î MS-SQL2000À» Windows2000 ¼¹ö ȯ°æ¿¡¼ »ç¿ëÇÕ´Ï´Ù. ¸ÕÀú ¿¹Á¦·Î »ç¿ëÇÒ µ¥ÀÌÅͺ£À̽º¸¦ »õ·Î ¸¸µé°í À̸§À» ¡°noveljsp¡±·Î ÁÝ´Ï´Ù. ±×·± ÈÄ noveljsp µ¥ÀÌÅͺ£À̽ºÀÇ Login ID¸¦ ¡°novel¡±·Î »õ·Î Ãß°¡Çϰí, Password¸¦ ¡°jsp¡±·Î ¼³Á¤ÇØ ÁÖ¼Å¾ß ÇÕ´Ï´Ù.
´ÙÀ½Àº JDBC¸¦ ÅëÇØ¼ µ¥ÀÌÅͺ£À̽º¿¡ Å×À̺íÀ» ¸¸µé°í, µ¥ÀÌÅ͸¦ »ðÀÔÇÏ°í °¡Á®¿À´Â ¿¹Á¦ÀÔ´Ï´Ù. ÀÌ ¿¹Á¦¸¦ ÅëÇØ JDBC ±¸ÇöÀÇ ÀýÂ÷¸¦ »ìÆìº¸°í °ü·ÃµÈ Ŭ·¡½º¿Í ±×¿¡ ÇØ´çÇÏ´Â ¸Þ¼µåµé¿¡ ´ëÇØ ¾Ë¾Æº¸±â·Î ÇϰڽÀ´Ï´Ù. ÀÌÈÄ¿¡ °¢°¢ÀÇ Å¬·¡½º, ÀÎÅÍÆäÀ̽º ¹× ÇØ´ç ¸Þ¼µåµé¿¡ ´ëÇØ ÀÚ¼¼È÷ ¾Ë¾Æ º¼ °ÍÀ̹ǷΠ¿©±â¼´Â ¾î¶»°Ô JDBC°¡ ±¸ÇöµÇ°í »ç¿ëµÇ´ÂÁö ±× È帧À» ´« ¿©°Ü º¸½Ã±â ¹Ù¶ø´Ï´Ù.
|
JdbcTest.java |
°£´ÜÇÑ JDBC ¿¹Á¦ |
|
import java.sql.*; | |
|
C:\jakarta\webapps\MySample\WEB-INF\classes\org\jabook\sql>javac JdbcTest.java C:\jakarta\webapps\MySample\WEB-INF\classes\org\jabook\sql>java JdbcTest MyTest Å×ÀÌºí »ý¼º OK! MyTest Å×ÀÌºí¿¡ µ¥ÀÌÅÍ »ðÀÔ OK! MyTest Å×ÀÌºí¿¡¼ ResultSet °¡Á®¿À±â OK! name : Jabook age : 3 | |
¿¹Á¦ÀÇ °á°ú¸¦ º¸¸é ÀÌ ÇÁ·Î±×·¥ÀÌ µ¥ÀÌÅͺ£À̽º¿¡ Å×À̺íÀ» »ý¼ºÇϰí, µ¥ÀÌÅ͸¦ »ðÀÔÇÑ ´ÙÀ½ ´Ù½Ã ±× µ¥ÀÌÅ͸¦ Àоî¿Ô´Ù´Â °ÍÀ» ÁüÀÛÇÒ ¼ö ÀÖÀ» °ÍÀÔ´Ï´Ù. ±×·³ ¿¹Á¦¸¦ ºÐ¼®ÇØ º¸°Ú½À´Ï´Ù.
¸ÕÀú JDBC¸¦ ÀÌ¿ëÇϱâ À§Çؼ java.sql ÆÐŰÁö¸¦ importÇϰí ÀÖ½À´Ï´Ù.
n import java.sql.*;
±×¸®°í SQLServerDriver JDBC µå¶óÀ̹ö¸¦ Class.forName ¸Þ¼µå¸¦ ÅëÇØ¼ ·Îµù½Ãŵ´Ï´Ù. ´Ù½Ã Çѹø ¸»ÇÏÁö¸¸, ¿©±â¼ ·ÎµùÇÒ JDBC µå¶óÀ̹öÀÇ Å¬·¡½º´Â classpath¿¡ ÀâÇô ÀÖ¾î¾ß ÇÕ´Ï´Ù.
n Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
JDBC µå¶óÀ̹ö¸¦ °ü¸®ÇÏ´Â DriverManager·ÎºÎÅÍ Connection °´Ã¼¸¦ »ý¼ºÇÕ´Ï´Ù. ¿©±â¼ getConnection ¸Þ¼µåÀÇ ¸Å°³º¯¼ö·Î´Â µ¥ÀÌÅͺ£À̽ºÀÇ URL°ú ÇØ´ç id ±×¸®°í password°¡ StringÇüÀ¸·Î µé¾î°©´Ï´Ù.
n Connection conn = DriverManager.getConnection(url,id,pass);
Connection °´Ã¼ connÀ¸·ÎºÎÅÍ Statement °´Ã¼¸¦ »ý¼ºÇÕ´Ï´Ù. Statement °´Ã¼´Â µ¥ÀÌÅͺ£À̽º¿¡ ÁúÀǸ¦ Çϰųª ÀÛ¾÷ ¸í·ÉÀ» Àü´ÞÇϴµ¥ »ç¿ëµË´Ï´Ù.
n Statement stmt = conn.createStatement();
»ý¼ºµÈ Statement °´Ã¼ stmt¸¦ ÅëÇØ, Äõ¸®¹®À» Update½Ãŵ´Ï´Ù. Áï µ¥ÀÌÅͺ£À̽º·Î Àü¼ÛÇÏ´Â °ÍÀÔ´Ï´Ù. ¿©±â¼´Â µ¥ÀÌÅ׺£À̽º¿¡ ¡°MyTest¡±¶ó´Â »õ·Î¿î Å×À̺íÀ» ¸¸µé°í ÀÖ½À´Ï´Ù.
n stmt.executeUpdate(sql);
PreparedStatementÀÇ °´Ã¼ pstmt¸¦ »ý¼ºÇÕ´Ï´Ù. ´«Ä¡ ºü¸¥ ºÐµéÀº Statement¿Í´Â ´Ù¸¥ ¹«¾ùÀ̱¸³ª ÇÏ°í ´À³¢½Ç °ÍÀÔ´Ï´Ù. ¿©±â¼´Â ¡°Statement¿Í ºñ½ÁÇÑ ³ðÀÌÁö¸¸, Äõ¸®¹®À» Àμö·Î ³Ñ±â¸ç Statementº¸´Ù ¼öÇà¼Óµµ°¡ Á¶±Ý ºü¸£´Ù¡± Á¤µµ¸¸ ¾Ë¾ÆµÎ½Ã°í µÚ¿¡ °¡¼ ÀÚ¼¼È÷ º¸°Ú½À´Ï´Ù.
n PreparedStatement pstmt = conn.prepareStatement("Insert into MyTest values (?,?)");
PreparedStatement Ŭ·¡½ºÀÇ setString°ú setInt ¸Þ¼µå¸¦ »ç¿ëÇØ¼, ¹°À½Ç¥¿¡ ÇØ´çÇÏ´Â µ¥ÀÌÅ͸¦ Àμö·Î ³Ñ±é´Ï´Ù. Áï, ÇØ´çÇÏ´Â °ªÀÇ µ¥ÀÌÅ͸¦ µ¥ÀÌÅͺ£À̽º¿¡ ÀÔ·ÂÇÏ´Â °ÍÀÔ´Ï´Ù.À̶§ ÁÖÀÇÇÒ Á¡Àº µ¥ÀÌÅͺ£À̽ºÀÇ µ¥ÀÌÅÍ Å¸ÀÔÀ» °í·ÁÇØ¾ß ÇÑ´Ù´Â °ÍÀÔ´Ï´Ù.
n pstmt.setString(1, "Jabook");
n pstmt.setInt(2, 3);
n pstmt.execute();
´ÙÀ½Àº ResultSetÀÇ °´Ã¼¸¦ »ý¼ºÇÏ´Â ºÎºÐÀÔ´Ï´Ù. Statement°¡ ó¸®ÇÑ °á°ú°ªÀ» µ¹·Á ¹Þ´Â °´Ã¼·Î À̰ÍÀ» ÅëÇØ¼ °á°ú¸¦ ó¸®ÇÏ°Ô µË´Ï´Ù.
n ResultSet rs = stmt.executeQuery(sql);
¸¶Áö¸·À¸·Î Connection ÀÎÅÍÆäÀ̽ºÀÇ close ¸Þ¼µå¸¦ »ç¿ëÇØ¼ µ¥ÀÌÅͺ£À̽º·ÎºÎÅÍ °¡Á®¿Â ResultSet, PreparedStatement, Statement¿Í ConnectionÀÇ °´Ã¼µéÀ» ¼ø¼´ë·Î ´Ý¾Æ ÁÖ¾î¾ß ÇÕ´Ï´Ù.
n rs.close();
n pstmt.close();
n stmt.close();
n conn.close();
ÀÌ·¸°Ô ¿¹Á¦¸¦ ÅëÇØ ÀÚ¹Ù ¾ÖÇø®ÄÉÀ̼ǿ¡¼ JDBC¸¦ ¾î¶»°Ô ±¸ÇöÇϴ°¡¿¡ ´ëÇØ »ìÆì º¸¾Ò½À´Ï´Ù. ´ÙÀ½ Àý¿¡¼´Â À̰ÍÀ» ¹ÙÅÁÀ¸·Î JSP¿Í JDBC¸¦ ¿¬°áÇÏ´Â °Í¿¡ ´ëÇØ »ìÆìº¸°Ú½À´Ï´Ù.
| jabookÀúÀÚ¸íÇÔ |
|
Á¦¸ñ:¼Ò¼³°°ÀºJSP2ºÎ ÀúÀÚ:ÃÖ¿µ°ü |