JavaTM 2 Platform
Standard Ed. 5.0

javax.sql.rowset
ÀÎÅÍÆäÀ̽º CachedRowSet

¸ðµç ½´ÆÛ ÀÎÅÍÆäÀ̽º:
Joinable, ResultSet, RowSet
¾Ë·ÁÁø ¼­ºê ÀÎÅÍÆäÀ̽º ¸ñ·Ï :
FilteredRowSet, JoinRowSet, WebRowSet

public interface CachedRowSet
extends RowSet, Joinable

CachedRowSetÀÇ ¸ðµç Ç¥ÁØ ±¸ÇöÀÌ ±¸ÇöÇØ¾ß ÇÏ´Â ÀÎÅÍÆäÀ̽ºÀÔ´Ï´Ù.

Sun Microsystems ·ÎºÎÅÍ Á¦°øµÈ CachedRowSetÀÎÅÍÆäÀ̽ºÀÇ ·¹ÆÛ·±½º ±¸ÇöÀº Ç¥ÁØ ±¸ÇöÀÔ´Ï´Ù. °³¹ßÀÚ´Â ÀÌ°ÍÀ» ±×´ë·Î »ç¿ëÇÏ´Â Àϵµ, È®ÀåÇÏ´Â Àϵµ, ¶Ç´Â ÀÌ ÀÎÅÍÆäÀ̽ºÀÇ ±¸ÇöÀ» µ¶ÀÚÀûÀ¸·Î ÀÛ¼ºÇÒ ¼öµµ ÀÖ½À´Ï´Ù.

CachedRowSet°´Ã¼´Â ¸Þ¸ð¸®³»¿¡ ÇàÀ» ij½¬ÇÏ´Â µ¥ÀÌÅÍÇàÀÇ ÄÁÅ×À̳ÊÀ̸ç, Ç×»ó ±× µ¥ÀÌÅÍ ¼Ò½º¿¡ Á¢¼ÓÇÏ°í ÀÖÁö ¾Ê¾Æµµ 󸮸¦ ½ÇÇàÇÒ ¼ö ÀÖ½À´Ï´Ù. ¶Ç, ½ºÅ©·Ñ, °»½Å, Á÷·ÄÈ­°¡ °¡´ÉÇÑ JavaBeansTM ÄÄÆÛ³ÍÆ®ÀÔ´Ï´Ù. CachedRowSet °´Ã¼¿¡´Â º¸Åë, °á°ú ¼¼Æ®ÀÇ ÇàÀÌ Æ÷ÇԵ˴ϴٸ¸, ½ºÇÁ·¹µå½¬Æ® µî, °Ñ(Ç¥) Çü½ÄÀÇ ¸ðµç ÆÄÀÏÀÇ ÇàÀ» Æ÷ÇÔÇÒ ¼öµµ ÀÖ½À´Ï´Ù. ·¹ÆÛ·±½º ±¸ÇöÀº, ResultSet °´Ã¼·ÎºÎÅÍÀÇ µ¥ÀÌÅÍÀÇ Ãëµæ ¹Û¿¡ Áö¿ø ÇÕ´Ï´Ù¸¸, °³¹ßÀÚ´Â ±× ¿ÜÀÇ °Ñ(Ç¥) Çü½ÄÀÇ µ¥ÀÌÅÍ ¼Ò½º¿¡ ¾×¼¼½º ÇÒ ¼ö ÀÖµµ·Ï, SyncProvider ±¸ÇöÀ» È®ÀåÇÒ ¼ö ÀÖ½À´Ï´Ù .

¾îÇø®ÄÉÀ̼ÇÀº, CachedRowSet °´Ã¼³»ÀÇ µ¥ÀÌÅ͸¦ º¯°æÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ·¯ÇÑ º¯°æÀº µ¥ÀÌÅÍ ¼Ò½º¿¡µµ ¹Ý¿µµË´Ï´Ù.

CachedRowSet°´Ã¼´Â ¡¸¹ÌÁ¢¼ÓÀÇ¡¹Çà ¼¼Æ®ÀÔ´Ï´Ù. Áï, µ¥ÀÌÅÍ ¼Ò½º¿ÍÀÇ Á¢¼ÓÀ» Á¶±Ý ¹Û¿¡ ÀÌ¿ëÇÏÁö ¾Ê½À´Ï´Ù. CachedRowSet °´Ã¼°¡ µ¥ÀÌÅÍ ¼Ò½º¿¡ Á¢¼ÓÇÏ´Â °ÍÀº µ¥ÀÌÅ͸¦ Àо Àڽſ¡°Ô ÇàÀ» ÀоîµéÀÏ ¶§¿Í ºÎÇÏÀÇ µ¥ÀÌÅÍ ¼Ò½º·Î º¯°æ ³»¿ëÀ» ¹Ý¿µÇÒ ¶§ »ÓÀÔ´Ï´Ù. ±× ÀÌ¿Ü ¶§´Â µ¥ÀÌÅÍÀÇ º¯°æÁßµµ Æ÷ÇÔÇØ, µ¥ÀÌÅÍ ¼Ò½º·ÎºÎÅÍ Àý´Ü µÇ°í ÀÖ½À´Ï´Ù. RowSet°´Ã¼´Â ÀÌ¿Í °°ÀÌ, µ¥ÀÌÅÍ ¼Ò½º·ÎºÎÅÍ Àý´Ü µÇ°í Àֱ⠶§¹®¿¡ ÇêÀÏÀÌ Àû°í, ±× ¿ÜÀÇ ÄÄÆÛ³ÍÆ®¿¡ °Ç³×Áֱ⠽¬¿öÁö°í ÀÖ½À´Ï´Ù. ¿¹¸¦ µé¾î ¹ÌÁ¢¼ÓÀÇ RowSet °´Ã¼¸¦ Á÷·ÄÈ­ÇØ, ȸ¼± °æÀ¯·Î PDA µîÀÇ thin Ŭ¶óÀ̾ðÆ®¿¡ °Ç³×ÁÙ ¼ö°¡ ÀÖ½À´Ï´Ù.

1.0 CachedRowSet °´Ã¼ÀÇ ÀÛ¼º

´ÙÀ½ÀÇ ÄÚµå´Â ·¹ÆÛ·±½º ±¸Çö (RI)ÀÇ CachedRowSetÀÇ µðÆúÆ® »ý¼ºÀÚ¸¦ »ç¿ëÇØ, µðÆúÆ®ÀÇ CachedRowSet°´Ã¼¸¦ ÀÛ¼ºÇÕ´Ï´Ù.
 CachedRowSetImpl crs = new CachedRowSetImpl() ;k
 
ÀÌ »õ·Î¿î CachedRowSet°´Ã¼´Â ±× ÇÁ·ÎÆÛƼ¸¦ BaseRowSet°´Ã¼ÀÇ µðÆúÆ®ÀÇ ÇÁ·ÎÆÛƼ·Î ¼³Á¤ÇÕ´Ï´Ù. °Ô´Ù°¡ µ¿±â ÇÁ·Î¹ÙÀÌ´õ·Î¼­ RIOptimisticProvider°´Ã¼¸¦ °¡Áý´Ï´Ù. RI¿¡ Æ÷ÇԵǴ 2°³ÀÇ SyncProvider±¸Çö °¡¿îµ¥ 1°³, RIOptimisticProvider´Â µ¿±â ÇÁ·Î¹ÙÀÌ´õ°¡ ÁöÁ¤µÇ¾î ÀÖÁö ¾ÊÀº °æ¿ì¿¡ SyncFactory½Ì±Û ÅæÀ¸·ÎºÎÅÍ Á¦°øµÇ´Â µðÆúÆ®ÀÇ ÇÁ·Î¹ÙÀÌ´õÀÔ´Ï´Ù.

SyncProvider°´Ã¼´Â CachedRowSet °´Ã¼¿Í µ¥ÀÌÅÍ ¼Ò½º·ÎºÎÅÍ µ¥ÀÌÅ͸¦ Àо Àڽſ¡°Ô µ¥ÀÌÅ͸¦ ÀоîµéÀÌ´Â ¸®´õ (RowSetReader °´Ã¼)¸¦ Á¦°øÇÕ´Ï´Ù. ¸®´õ¸¦ ±¸ÇöÇÏ´Â °ÍÀ¸·Î½á, ResultSet °´Ã¼³ª °Ñ(Ç¥) Çü½ÄÀÇ ÆÄÀϷκÎÅÍ µ¥ÀÌÅ͸¦ Àо ¼ö°¡ ÀÖ½À´Ï´Ù. SyncProvider°´Ã¼´Â ¶óÀÌÅÍ(RowSetWriter °´Ã¼)µµ Á¦°øÇÕ´Ï´Ù. ¶óÀÌÅÍ´Â ºÎÇÏÀÇ µ¥ÀÌÅÍ ¼Ò½º³»ÀÇ µ¥ÀÌÅͷκÎÅÍ Àý´Ü µÇ°í ÀÖ´Â µ¿¾È¿¡ CachedRowSet °´Ã¼¿¡ ´õÇØÁø º¯°æ ³»¿ëÀ» µ¿±â ÇÕ´Ï´Ù.

¶óÀÌÅ͸¦ ±¸ÇöÇÏ´Â °ÍÀ¸·Î½á, ´Ù¾çÇÑ ·¹º§·Î Çà ¼¼Æ®¿¡ °ªÀ» ÀоîµéÀÎ ÈÄ¿¡ µ¥ÀÌÅÍ ¼Ò½º³»ÀÇ °ªÀÌ º¯°æµÇ¾úÀ» °æ¿ì¿¡ ¹ß»ýÇÏ´Â °æÇÕÀÇ Ã¼Å©³ª ¿¹¹æÀ» ½Ç½ÃÇÒ ¼ö ÀÖ½À´Ï´Ù . RIOptimisticProvider ±¸ÇöÀº °æÇÕÀÌ °ÅÀÇ ¾ø´ÂÁö, ÀüÇô ¾ø´Â °ÍÀ¸·Î¼­ ¶ôÀ» ÀÏÀý ¼³Á¤ÇÏÁö ¾Ê½À´Ï´Ù. ÀÌ ±¸ÇöÀº °æÇÕÀÌ ¾ø´Â °æ¿ì¿¡°Ô¸¸, CachedRowSet °´Ã¼ÀÇ °ªÀ¸·Î µ¥ÀÌÅÍ ¼Ò½º¸¦ °»½ÅÇÕ´Ï´Ù. º¯°æµÈ µ¥ÀÌÅ͸¦ µ¥ÀÌÅÍ ¼Ò½º¿¡ Ãâ·ÂÇÏ´Â ¸ñÀû¿¡¼­¸¸ ±¸ÇöµÇ´Â ¶óÀÌÅ͵µ ÀÖ½À´Ï´Ù. ÀÌ ±¸ÇöÀº °æÇÕÀÇ Ã¼Å©¸¦ ½Ç½ÃÇÏÁö ¾Ê´Â°¡ ±× ¿ÏÀüÈ÷ ¿ªÀ¸·Î µ¥ÀÌÅÍ ¼Ò½º³»ÀÇ µ¥ÀÌÅÍÀÇ º¯°æÀ» ÃæºÐÈ÷ ¸·À» ¼ö ÀÖÀ» »ÓÀÇ ¶ôÀ» ¼³Á¤ÇÏ´Â °Í¿¡ ÀÇÇØ ÇàÇØÁý´Ï´Ù. ¶Ç, ±× °ÅÀÇ Áß°£ÀÇ ¶óÀÌÅÍ ±¸Çöµµ ÀÖ½À´Ï´Ù.

CachedRowSet°´Ã¼´Â SyncFactory ½Ì±Û Åæ¿¡ µî·ÏµÈ ÀÓÀÇÀÇ SyncProvider ±¸ÇöÀ» »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. ¾îÇø®ÄÉÀ̼ÇÀº ´ÙÀ½ÀÇ Äڵ带 È£ÃâÇÏ´Â °ÍÀ¸·Î µî·ÏµÇ¾î ÀÖ´Â SyncProvider ±¸ÇöÀ» °ËÃâÇÒ ¼ö ÀÖ½À´Ï´Ù.

 java.util.Enumeration providers = SyncFactory.getRegisteredProviders();

CachedRowSet °´Ã¼·Î »ç¿ëÇÏ´Â SyncProvider °´Ã¼¸¦ ÁöÁ¤ÇÏ´Â ¹æ¹ýÀº ´ÙÀ½ÀÇ 2 ´ë·ÎÀÔ´Ï´Ù.

»ó¼¼ÇÑ °Í¿¡ ´ëÇÏ¿©´Â SyncFactory¹× SyncProvider¸¦ ÂüÁ¶ÇØ °üÀÌ¾ß ÀÖ°í.

2.0 CachedRowSet °´Ã¼·ÎºÎÅÍÀÇ µ¥ÀÌÅÍÀÇ Ãëµæ

µ¥ÀÌÅÍ´Â ResultSetÀÎÅÍÆäÀ̽º·ÎºÎÅÍ »ó¼ÓµÈ Ãëµæ ¸Þ¼­µå¸¦ »ç¿ëÇØ, CachedRowSet°´Ã¼·ÎºÎÅÍ ÃëµæµË´Ï´Ù. ´ÙÀ½ÀÇ ¿¹´Â crs¸¦ CachedRowSet°´Ã¼·Î¼­ ÇàÀÇ ¹Ýº¹ 󸮸¦ ½Ç½ÃÇØ, °¢ ÇàÀ¸·ÎºÎÅÍ ¿­ÀÇ °ªÀ» ¾ò´Â ¹æ¹ýÀ» ³ªÅ¸³À´Ï´Ù. ÃÖÃÊÀÇ ¿¹¿¡¼­´Â ¿­¹øÈ£¸¦ ÃëÇÏ´Â Ãëµæ ¸Þ¼­µå¸¦ »ç¿ëÇÕ´Ï´Ù. 2¹ø°ÀÇ ¿¹¿¡¼­´Â ·Ä¸íÀ» ÃëÇÏ´Â Ãëµæ ¸Þ¼­µå¸¦ »ç¿ëÇÕ´Ï´Ù. ¿­¹øÈ£´Â º¸Åë, RowSet°´Ã¼ÀÇ Ä¿¸àµå°¡ SELECT * FROM TABLENAMEÀÇ Çü½ÄÀÌ µÇ´Â °æ¿ì¿¡ »ç¿ëµË´Ï´Ù. ·Ä¸íÀº ·Ä¸íÀ» ÁöÁ¤ÇÏ´Â Ä¿¸àµå·Î ÀÚÁÖ »ç¿ëµË´Ï´Ù.
 while (crs.next()) { 
     String name = crs.getString(1);
     int id = crs.getInt(2);
     Clob comment = crs.getClob(3);
     short dept = crs.getShort(4);
     System.out.println(name + "  " + id + "  " + comment + "  " + dept);
 } 
 while (crs.next()) { 
     String name = crs.getString("NAME");
     int id = crs.getInt("ID");
     Clob comment = crs.getClob("COM");
     short dept = crs.getShort("DEPT");
     System.out.println(name + "  " + id + "  " + comment + "  " + dept);
 }

2.1 RowSetMetaData Ãëµæ

¾îÇø®ÄÉÀ̼ÇÀº, RowSetMetaData°´Ã¼»ó¿¡ ResultSetMetaData¸Þ¼­µå¿Í RowSetMetaData¸Þ¼­µå¸¦ È£ÃâÇÏ´Â °ÍÀ¸·ÎCachedRowSet°´Ã¼³»ÀÇ ¿­¿¡ °üÇÑ Á¤º¸¸¦ ÃëµæÇÒ ¼ö ÀÖ½À´Ï´Ù. ´ÙÀ½ÀÇ ÄÚµåÀÇ ¹ßÃé¿¡¼­´Â crs¸¦ CachedRowSet°´Ã¼·Î¼­ ÀÌ Ã³¸®¿¡ ´ëÇØ ¼³¸íÇÕ´Ï´Ù. 1 Çà °·Î´Â crs³»ÀÇ ¿­¿¡ °üÇÑ Á¤º¸¸¦ °¡Áö´Â RowSetMetaData°´Ã¼¸¦ ÀÛ¼ºÇÕ´Ï´Ù. ResultSetÀÎÅÍÆäÀ̽º·ÎºÎÅÍ »ó¼ÓµÈ getMetaData¸Þ¼­µå´Â ResultSetMetaData°´Ã¼¸¦ ¸®ÅÏÇÕ´Ï´Ù. ¸®ÅÏµÈ °´Ã¼´Â º¯¼ö rsmd¿¡ ÇÒ´çÇÒ ¼ö ÀÖ±â Àü¿¡ RowSetMetaData°´Ã¼¿¡ ij½ºÆ® µË´Ï´Ù. 2 Çà °·Î´Â jrsÀÇ ·Ä¼ö¸¦ È®ÀÎÇÕ´Ï´Ù. 3 Çà °·Î´Â jrsÀÇ 2¹ø°ÀÇ ¿­¿¡ Æ÷ÇÔµÈ °ªÀÇ JDBC ÇüÀ» ÃëµæÇÕ´Ï´Ù.
 RowSetMetaData rsmd = (RowSetMetaData) crs.getMetaData();
 int count = rsmd.getColumnCount();
 int type = rsmd.getColumnType(2);
RowSetMetaDataÀÎÅÍÆäÀ̽º´Â ´ÙÀ½ÀÇ 2°³ÀÇ Á¡À¸·Î½á, ResultSetMetaDataÀÎÅÍÆäÀ̽º¿Í´Â ´Ù¸¨´Ï´Ù. ÁÖ: RowSetMetaData°´Ã¼¸¦ µ¹·ÁÁÖ±â À§Çؼ­´Â ±¸ÇöÀ¸·Î java.sql.ResultSet¿¡ Á¤ÀÇµÈ getMetaData()¸Þ¼­µå¸¦ ¿À¹ö¶óÀ̵å(override) ÇØ, RowSetMetaData°´Ã¼¸¦ µ¹·ÁÁÙ ÇÊ¿ä°¡ ÀÖ½À´Ï´Ù.

3.0 CachedRowSet °´Ã¼ÀÇ °»½Å

CachedRowSet°´Ã¼ÀÇ °»½Å ¹æ¹ýÀº ResultSet°´Ã¼ÀÇ °»½Å ¹æ¹ý°ú °°½À´Ï´Ù¸¸, °»½ÅÁß, Çà ¼¼Æ®´Â µ¥ÀÌÅÍ ¼Ò½º¿¡ Á¢¼ÓÇÏ°í ÀÖÁö ¾Ê¾Ò±â ¶§¹®¿¡ ºÎÇÏÀÇ µ¥ÀÌÅÍ ¼Ò½º·Î º¯°æÀ» ´õÇÏ´Â Ãß°¡ ¼ø¼­°¡ ÇÊ¿äÇÏ°Ô µË´Ï´Ù. CachedRowSet°´Ã¼´Â updateRow¸Þ¼­µå³ª insertRow¸Þ¼­µå¸¦ È£ÃâÇÑ µÚ, acceptChanges¸Þ¼­µå¸¦ È£ÃâÇØ, °»½Å ³»¿ëÀ» µ¥ÀÌÅÍ ¼Ò½º¿¡ Ãâ·ÂÇÒ ÇÊ¿ä°¡ ÀÖ½À´Ï´Ù. ´ÙÀ½ÀÇ ¿¹¿¡¼­´Â CachedRowSet°´Ã¼ crs³»ÀÇ Çà¿¡ Ä¿¼­°¡ ³õ¿©Á® ÀÖ½À´Ï´Ù. ÀÌ ÄÚµå´Â ÇöÀçÀÇ ÇàÀÇ 2°³ÀÇ ¿­ÀÇ °ªÀ» °»½ÅÇØ, RowSet°´Ã¼ÀÇ ºÎÇÏÀÇ µ¥ÀÌÅÍ ¼Ò½º¸¦ °»½ÅÇÕ´Ï´Ù.
 crs.updateShort(3, 58);
 crs.updateInt(4, 150000);
 crs.updateRow();
 crs.acceptChanges();

´ÙÀ½ÀÇ ¿¹¿¡¼­´Â »ðÀÔÇàÀ¸·Î À̵¿ÇØ, »ðÀÔÇà À§¿¡ »õ·Î¿î ÇàÀ» ÀÛ¼ºÇØ, ÀÌ°ÍÀ» Çà ¼¼Æ®¿¡ »ðÀÔÇÕ´Ï´Ù. °Ô´Ù°¡acceptChanges ¸Þ¼­µå¸¦ È£ÃâÇØ, ºÎÇÏÀÇ µ¥ÀÌÅÍ ¼Ò½º¿¡ »õ·Î¿î ÇàÀ» Ãß°¡ÇÕ´Ï´Ù. Ãëµæ ¸Þ¼­µåÀÇ °æ¿ì¿Í °°°Ô, °»½Å ¸Þ¼­µå¿¡¼­µµ, ¿­À妽º³ª ·Ä¸íÀ» »ç¿ëÇØ Ã³¸® ´ë»óÀÇ ¿­À» ÁöÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù.

 crs.moveToInsertRow();
 crs.updateString("Name", "Shakespeare");
 crs.updateInt("ID", 10098347);
 crs.updateShort("Age", 58);
 crs.updateInt("Sal", 150000);
 crs.insertRow();
 crs.moveToCurrentRow();
 crs.acceptChanges();

ÁÖ: insertRow() ¸Þ¼­µå·ÎCachedRowSet °´Ã¼ÀÇ »ðÀÔÇàÀÇ ³»¿ëÀ» »ðÀÔÇÏ´Â Àå¼Ò´Â ±¸ÇöÀ¸·Î Á¤ÀÇÇÕ´Ï´Ù. CachedRowSetÀÎÅÍÆäÀ̽ºÀÇ ·¹ÆÛ·±½º ±¸ÇöÀº ÇöÀçÀÇ ÇàÀÇ Á÷ÈÄ¿¡ »õ·Î¿î ÇàÀ» »ðÀÔÇÕ´Ï´Ù¸¸, ´Ù¸¥ ÀÓÀÇÀÇ °³¼Ò¿¡µµ »ðÀÔÇϵµ·Ï ±¸ÇöÇÒ ¼ö ÀÖ½À´Ï´Ù.

ÀÌ·¯ÇÑ ¿¹¿¡ À־ÀÇ acceptChanges ¸Þ¼­µåÀÇ »ç¿ë ¹æ¹ý¿¡ ÁÖ¸ñÇØ ÁÖ¼¼¿ä. ÀÌ ¸Þ¼­µå´Â RowSet °´Ã¼ÀÇ ¶óÀÌÅ͸¦ ³»ºÎ¿¡¼­ È£ÃâÇØ, µ¥ÀÌÅÍ ¼Ò½º·Î º¯°æÀ» Ãâ·ÂÇÏ´Â °ÍÀ¸·ÎCachedRowSet °´Ã¼³»ÀÇ º¯°æ ³»¿ëÀ» ºÎÇÏÀÇ µ¥ÀÌÅÍ ¼Ò½º¿¡ Àü´ÞÇÕ´Ï´Ù. ÀÌ ¶§¹®¿¡ ¶óÀÌÅÍ´Â µ¥ÀÌÅÍ ¼Ò½º¿ÍÀÇ Á¢¼ÓÀ» È®¸³ÇÏÁö ¾ÊÀ¸¸é ¾ÈµË´Ï´Ù. ÃÖÃÊÀÇ 2°³ÀÇ ÄÚµåÀÇ ¹ßÃé´Â updateRow ¶Ç´Â insertRow È£Ãâ ÈÄ Áï½Ã acceptChanges ¸Þ¼­µå¸¦ È£ÃâÇÕ´Ï´Ù. ±×·¯³ª, º¹¼öÀÇ ÇàÀ» º¯°æÇÏ´Â °æ¿ì´Â updateRow¿Í insertRow È£ÃâÀÌ ¸ðµÎ ¿Ï·áÇÏ°í ³ª¼­ acceptChanges¸¦ È£ÃâÇÏ´Â ¹æ¹ý ÂÊÀÌ È¿À²ÀÌ ÁÁ¾ÆÁý´Ï´Ù. acceptChanges¸¦ 1ȸ ¹Û¿¡ È£ÃâÇÏÁö ¾Ê´Â °æ¿ì´Â Á¢¼ÓÀ» 1°³ È®¸³ÇÏ´Â °Í¸¸À¸·Î ³¡³³´Ï´Ù.

4.0 ºÎÇÏÀÇ µ¥ÀÌÅÍ ¼Ò½ºÀÇ °»½Å

acceptChanges¸Þ¼­µåÀÇ ½ÇÇà½Ã¿¡´Â Çà ¼¼Æ®¿¡ÀÇ º¯°æÁ¡À» ºÎÇÏÀÇ µ¥ÀÌÅÍ ¼Ò½º¿¡ Ãâ·ÂÇϱ⠶§¹®¿¡ ¹èÈÄ¿¡¼­ CachedRowSet°´Ã¼ÀÇ ¶óÀÌÅÍ, RowSetWriterImpl°´Ã¼°¡ È£ÃâµË´Ï´Ù. ÀÌ ¶óÀÌÅÍ°¡ ±¸ÇöµÇ´Â °ÍÀ¸·Î µ¥ÀÌÅÍ ¼Ò½º¿¡ÀÇ Á¢¼ÓÀÌ È®¸³µÇ¾î °»½Å Á¤º¸°¡ Ãâ·ÂÇØÁý´Ï´Ù.

¶óÀÌÅÍ´Â ¼½¼Ç 1 ¡¸CachedRowSet °´Ã¼ÀÇ ÀÛ¼º¡¹À¸·Î ¼³¸íÇß´ø ´ë·ÎSyncProviderÀÎÅÍÆäÀ̽ºÀÇ ±¸ÇöÀ» °³ÀÔ½ÃÄÑ ÀÌ¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. µðÆúÆ®ÀÇ ·¹ÆÛ·±½º ±¸Çö ÇÁ·Î¹ÙÀÌ´õ RIOptimisticProvider´Â ¿ÀÇÁƼ¹Ì½ºÆ½ concurrent processing Á¦¾î µµ±¸¸¦ ÀÌ¿ëÇϱâ À§ÇØ, ¶óÀÌÅ͸¦ ±¸ÇöÇÏ°í ÀÖ½À´Ï´Ù. Áï, Çà ¼¼Æ®°¡ µ¥ÀÌŸº£À̽º·ÎºÎÅÍ Àý´Ü µÇ°í ÀÖ´Â µ¿¾È, ºÎÇÏÀÇ µ¥ÀÌŸº£À̽º´Â ¶ô µÇÁö ¾Ê°í, µ¥ÀÌÅÍ ¼Ò½º¿¡ µ¥ÀÌÅ͸¦ Ãâ·ÂÇϱâ Àü¿¡ °æÇÕÀÌ ÀÖ´ÂÁö ¾ø´ÂÁöÀÇ È®ÀÎÀ» ÇÏ°Ô¸¸ µË´Ï´Ù. °æÇÕÀÌ ÀÖ´Â °æ¿ì, µ¥ÀÌÅÍ ¼Ò½º¿¡´Â ¾Æ¹«°Íµµ Ãâ·ÂÇØÁöÁö ¾Ê½À´Ï´Ù.

SyncProvider Ŭ·¡½º¿¡ ÀÇÇØ Á¦°øµÇ´Â ¸®´õ/¶óÀÌÅÍÀÇ ±â´ÉÀº Ç÷¯±× ÀÎ °¡´ÉÇÏ°í, µ¥ÀÌÅÍÀÇ Ãëµæ°ú °»½ÅÀÇ Ä¿½ºÅ͸¶ÀÌÁî¿¡ ÀÌ¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. ´Ù¸¥ concurrent processing Á¦¾î µµ±¸°¡ ÇÊ¿äÇÑ °æ¿ì´Â setSyncProvider ¸Þ¼­µå¸¦ »ç¿ëÇØ, ´Ù¸¥ SyncProvider ±¸ÇöÀ» Ç÷¯±× ÀÎ ÇÒ ¼ö ÀÖ½À´Ï´Ù.

¿ÀÇÁƼ¹Ì½ºÆ½ concurrent processing Á¦¾î ·çƾÀ» »ç¿ëÇϱâ À§ÇØ, RIOptismisticProvider´Â ÇöÀçÀÇ °ª°ú ¿øÀÇ °ª (ÇöÀçÀÇ °ªÀÇ Á÷ÀüÀÇ °ª)ÀÇ ¾çÂÊ ¸ðµÎ¸¦ º¸°ü À¯ÁöÇÕ´Ï´Ù. RowSet °´Ã¼³»ÀÇ µ¥ÀÌÅÍ°¡ º¯°æµÇÁö ¾Ê¾Ò´ø °æ¿ì, ÇöÀçÀÇ °ª°ú ¿øÀÇ °ªÀº µ¿ÀÏ (RowSet °´Ã¼°¡ ÃÖÃÊ·Î »ý¼ºµÇ¾úÀ» ¶§ÀÇ °ª)ÀÌ µË´Ï´Ù. ±×·¯³ª, RowSet °´Ã¼³»ÀÇ °ªÀÌ º¯°æµÇ¾úÀ» °æ¿ì, ÇöÀçÀÇ °ª°ú ¿øÀÇ °ªÀº ÀÏÄ¡ÇÏÁö ¾Ê½À´Ï´Ù. ÀÌ ´Ü°è¿¡¼­´Â ¿øÀÇ °ªÀº ÃʱⰪ ÀΠäÀÔ´Ï´Ù. ±× ÈÄÀÇ RowSet °´Ã¼³»ÀÇ µ¥ÀÌÅÍÀÇ º¯°æ¿¡ÀÇÇØ ¿øÀÇ °ª°ú ÇöÀçÀÇ °ªÀº ÀÏÄ¡ÇÏÁö ¾Ê°Ô µË´Ï´Ù¸¸, ÀÌÀü ÇöÀçÀÇ °ªÀ̾ú´ø °ªÀÌ ¿øÀÇ °ªÀÌ µË´Ï´Ù.

¿øÀÇ °ªÀ» ÃßÀûÇÏ´Â °ÍÀ¸·Î ¶óÀÌÅÍ´Â RowSet °´Ã¼ÀÇ ¿øÀÇ °ª°ú µ¥ÀÌŸº£À̽º³»ÀÇ °ªÀ» ºñ±³ÇÒ ¼ö ÀÖ½À´Ï´Ù. µ¥ÀÌŸº£À̽º³»ÀÇ °ªÀÌ RowSet °´Ã¼ÀÇ ¿øÀÇ °ª°ú ÀÏÄ¡ÇÏÁö ¾Ê´Â °æ¿ì, µ¥ÀÌŸº£À̽º³»ÀÇ °ªÀÌ º¯°æµÇ°í ÀÖ¾î °æÇÕÀÌ ¹ß»ýÇÏ°í ÀÖ´Â °ÍÀ»ÀǹÌÇÕ´Ï´Ù. ¶óÀÌÅ͸¦ »ç¿ëÇØ °æÇÕÀÇ Ã¼Å©¸¦ ½Ç½ÃÇÏ´ÂÁö, ¾î´À Á¤µµ±îÁö üũ¸¦ ½Ç½ÃÇÏ´ÂÁö, °æÇÕÀ» ¾î¶»°Ô ó¸®ÇÒ±î´Â ¸ðµÎ ±¸Çö¿¡ µû¶ó¼­ ´Ù¸¨´Ï´Ù.

5.0 ¸®½º³ÊÀÇ µî·Ï°ú ÅëÁö

JavaBeans ÄÄÆÛ³ÍÆ®À̹ǷΠ¸ðµç Çà ¼¼Æ®´Â BaseRowSetŬ·¡½º·ÎºÎÅÍ ¸®½º³ÊÀÇ µî·ÏÀ̶ó°í º¯°æ ³»¿ëÀ» ÅëÁöÇϱâ À§ÇÑ ¸Þ¼­µå¸¦ »ó¼ÓÇØ, JavaBeans À̺¥Æ® ¸ðµ¨¿¡ Âü¿© ÇÕ´Ï´Ù. CachedRowSet°´Ã¼ÀÇ ¸®½º³Ê´Â Çà ¼¼Æ®³»·Î º¯°æÀÌ ÀÖ¾ú´ÂÁö ¾î¶°Çß´ÂÁö¸¦ ÅëÁöµÇ´Â ÄÄÆÛ³ÍÆ®ÀÔ´Ï´Ù. ¿¹¸¦ µé¾î, CachedRowSet°´Ã¼¿¡ Äõ¸®ÀÇ °á°ú°¡ Æ÷ÇԵǾî ÀÌ·¯ÇÑ °á°ú°¡ °Ñ(Ç¥)³ª ¸·´ë ±×·¡ÇÁ·Î¼­ Ç¥½ÃµÈ´Ù°í ÇÕ´Ï´Ù. °Ñ(Ç¥)³ª ¸·´ë ±×·¡ÇÁ´Â Çà ¼¼Æ®ÀÇ ¸®½º³Ê·Î¼­ µî·ÏµÇ´Â °ÍÀ¸·Î º¯°æ ³»¿ëÀ» ¹Ý¿µÇϵµ·Ï ÀÚ½ÅÀÇ °»½ÅÀ» ½Ç½ÃÇÒ ¼ö ÀÖ½À´Ï´Ù . °Ñ(Ç¥)³ª ¸·´ë ±×·¡ÇÁÀÇ Å¬·¡½º°¡ ¸®½º³Ê°¡ µÇ·Á¸é, RowSetListenerÀÎÅÍÆäÀ̽º¸¦ ±¸ÇöÇÒ ÇÊ¿ä°¡ ÀÖ½À´Ï´Ù. ±× ÈÄ, À̰͵éÀ» CachedRowSet°´Ã¼ÀÇ ¸®½º³ÊÀÇ ¸®½ºÆ®¿¡ Ãß°¡ÇÕ´Ï´Ù. ´ÙÀ½ÀÇ Äڵ带 ÂüÁ¶ÇϽʽÿÀ.
  crs.addRowSetListener(table);
  crs.addRowSetListener(barGraph);
Ä¿¼­¸¦ À̵¿Çϰųª µ¥ÀÌÅ͸¦ º¯°æÇϰųª ÇÏ´Â CachedRowSet¸Þ¼­µåµµ, µî·ÏÀ» ¸¶Ä£ ¸®½º³Ê·Î º¯°æÀ» ÅëÁöÇÕ´Ï´Ù. µû¶ó¼­, crs³»·Î º¯°æÀÌ ÀÖÀ¸¸é, table¿Í barGraph´Â ±× ÅëÁö¸¦ ¹Þ½À´Ï´Ù.

6.0 thin Ŭ¶óÀ̾ðÆ®¿¡ÀÇ µ¥ÀÌÅÍÀÇ ¼Û½Å

CachedRowSet°´Ã¼´Â ÁÖ·Î ¾îÇø®ÄÉÀÌ¼Ç ÄÄÆÛ³ÍÆ®°£¿¡¼­ÀÇ µ¥ÀÌÅÍÀÇ ¼ö¼ö¿¡ ÀÌ¿ëµË´Ï´Ù. CachedRowSet°´Ã¼´Â Á÷·ÄÈ­ °¡´ÉÇؼ­, ¿¹¸¦ µé¾î ¼­¹ö ȯ°æ¿¡¼­ °¡µ¿ÁßÀÇ ¿£ÅÍÇÁ¶óÀÌÁî JavaBeans ÄÄÆÛ³ÍÆ®¿¡ ÀÇÇØ ½ÇÇàµÈ Äõ¸®ÀÇ °á°ú¸¦, Web ºê¶ó¿ìÀú·Î °¡µ¿ÁßÀÇ Å¬¶óÀ̾ðÆ®¿¡ ³×Æ®¿öÅ© °æÀ¯·Î ¼Û½ÅÇϱâ À§Çؼ­ ÀÌ¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù .

¹ÌÁ¢¼ÓÀÇ CachedRowSet°´Ã¼´Â °°Àº µ¥ÀÌÅ͸¦ °¡Áö´Â ResultSet °´Ã¼º¸´Ù ÄÄÆÑÆ®Çؼ­, ÀÚ¿øÀÇ Á¦ÇÑÀ̳ª º¸¾È»óÀÇ ÀÌÀ¯¿¡ ÀÇÇØ JDBC µå¶óÀ̹ö¸¦ »ç¿ëÇÏ´Â °ÍÀÌ ¾î·Á¿î PDA µîÀÇ thin Ŭ¶óÀ̾ðÆ®¿¡ÀÇ µ¥ÀÌÅÍ ¼Û½Å¿¡ ÃÖÀûÀÔ´Ï´Ù. ÀÌ¿Í °°ÀÌ, CachedRowSet °´Ã¼¿¡¼­´Â JDBC API¸¦ ¿ÏÀüÇÏ°Ô ±¸ÇöÇÏÁö ¾Ê¾Æµµ ÇàÀ» ÃëµæÇÒ ¼ö ÀÖ½À´Ï´Ù.

7.0 ½ºÅ©·Ñ°ú °»½Å

CachedRowSet°´Ã¼¿¡´Â ½ºÅ©·Ñ ±â´ÉÀ̳ª °»½Å ±â´ÉÀ» °¡ÁöÁö ¾Ê´Â ResultSet°´Ã¼¿¡ ÀÌ·¯ÇÑ ±â´ÉÀ» Á¦°øÇÏ´Â ±â´Éµµ ÀÖ½À´Ï´Ù. DBMS°¡ ½ºÅ©·Ñ°ú °»½ÅÀÇ ±â´ÉÀ» ¿ÏÀüÇÏ°Ô Áö¿ø ÇÏÁö ¾Ê´Â °æ¿ì´Â CachedRowSet°´Ã¼¸¦ »ç¿ëÇØ, JDBC Å×Å©³î·¯Áö¸¦ »ç¿ë °¡´ÉÇÑ µå¶óÀ̹öÀÇ ±â´ÉÀ» Çâ»ó½Ãų ¼ö°¡ ÀÖ½À´Ï´Ù. ½ºÅ©·Ñ ±â´ÉÀ» °¡ÁöÁö ¾Ê´Â Àбâ Àü¿ë ÀÇ ResultSet°´Ã¼¿¡ ½ºÅ©·Ñ ±â´É°ú °»½Å ±â´ÉÀ» °®°ÔÇÏ·Á¸é, CachedRowSet°´Ã¼¸¦ ÀÛ¼ºÇØ, ±× ResultSet°´Ã¼ÀÇ µ¥ÀÌÅ͸¦ ÀоîµéÀÌ´Â °Í¸¸À¸·Î ³¡³³´Ï´Ù. ±¸Ã¼ÀûÀÎ ¿¹¿¡ ´ëÇؼ­´Â ´ÙÀ½ÀÇ ÄÚµåÀÇ ¹ßÃ鸦 ÂüÁ¶ÇϽʽÿÀ. ÀÌ ¿¹¿¡¼­´Â stmt´Â Statement°´Ã¼¸¦ ³ªÅ¸³À´Ï´Ù.
 ResultSet rs = stmt.executeQuery("SELECT * FROM EMPLOYEES");
 CachedRowSetImpl crs = new CachedRowSetImpl();
 crs.populate(rs);

rs °´Ã¼ÀÇ °æ¿ì¿Í °°°Ô, crs °´Ã¼¿¡ °Ñ(Ç¥) EMPLOYEES µ¥ÀÌÅÍ°¡ Ãß°¡µË´Ï´Ù. ´Ù¸¸, crs Ä¿¼­´Â Àü¹æ, ÈĹæ, ¶Ç´Â ƯÁ¤ÀÇ ÇàÀ¸·Î À̵¿ÇÒ ¼ö Àִµ¥ ´ëÇØ, rs Ä¿¼­´Â Àü¹æ ¹Û¿¡ À̵¿ÇÒ ¼ö ¾ø½À´Ï´Ù. ¶Ç, crs¿¡ °»½Å ±â´ÉÀÌ Àִµ¥ ´ëÇØ, rs¿¡´Â °»½Å ±â´ÉÀº ¾ø½À´Ï´Ù. ÀÌ°ÍÀº, CachedRowSet °´Ã¼¿¡ ½ºÅ©·Ñ ±â´É°ú °»½Å ±â´ÉÀÌ µðÆúÆ®·Î ÁغñµÇ¾î Àֱ⠶§¹®ÀÔ´Ï´Ù.

Áï, CachedRowSet°´Ã¼´Â µ¥ÀÌÅÍ ¼Ò½ºÀÇ ¿ÜºÎ¿¡¼­ ij½¬µÇ´Â ¹ÌÁ¢¼ÓÀÇ ÇàÀÌ µË´Ï´Ù. »çÀÌÁî°¡ ÀÛ°í, Á÷·ÄÈ­ °¡´ÉÇؼ­, ȸ¼± °æÀ¯·Î °£´ÜÇÏ°Ô ¼Û½Å °¡´ÉÇÒ »Ó¸¸ ¾Æ´Ï¶ó, thin Ŭ¶óÀ̾ðÆ®¿¡ÀÇ µ¥ÀÌÅÍ ¼Û½Å¿¡µµ ÀûÇÕÇÕ´Ï´Ù. ´Ù¸¸, ¸Þ¸ð¸®³»¿¡ µ¿½Ã¿¡ Æ÷ÇÔÇÒ ¼ö ÀÖ´Â µ¥ÀÌÅÍ·®ÀÌ Á¤ÇØÁ® Àֱ⠶§¹®¿¡ CachedRowSet °´Ã¼ÀÇ »çÀÌÁî´Â Á¦Çѵǰí ÀÖ½À´Ï´Ù.

8.0 ¹ü¿ë µ¥ÀÌÅÍ ¾×¼¼½ºÀÇ Ãëµæ

CachedRowSetŬ·¡½º¿¡´Â RDB ÀÌ¿ÜÀÇ ¼Ò½º·ÎºÎÅÍ µ¥ÀÌÅ͸¦ ÃëµæÇØ, Æ÷ÇÔÇÒ ¼ö ÀÖ´Ù°í ÇÏ´Â ÀÌÁ¡ÀÌ ÀÖ½À´Ï´Ù. Çà ¼¼Æ®ÀÇ ¸®´õ¸¦ ±¸ÇöÇÏ´Â °ÍÀ¸·Î½á, ÀÓÀÇÀÇ °Ñ(Ç¥) Çü½ÄÀÇ µ¥ÀÌÅÍ ¼Ò½º (½ºÇÁ·¹µå½¬Æ®, Ç÷§ ÆÄÀÏÀ» Æ÷ÇÔÇÑ´Ù) Çà ¼¼Æ®ÀÇ µ¥ÀÌÅ͸¦ Àо, read ÇÒ ¼ö ÀÖ½À´Ï´Ù. CachedRowSet°´Ã¼¿Í ±× ¸ÞŸµ¥ÀÌŸ´Â ¸ðµÎ Á¦·Î·ÎºÎÅÍ ÀÛ¼º °¡´ÉÇؼ­, Çà ¼¼Æ®ÀÇ ÆÑÅ丮·Î¼­ ±â´ÉÇÏ´Â ÄÄÆÛ³ÍÆ®´Â ÀÌ ±â´ÉÀ» ÀÌ¿ëÇØ, ºñ SQL µ¥ÀÌÅÍ ¼Ò½º·ÎºÎÅÍ µ¥ÀÌÅ͸¦ Æ÷ÇÔÇÑ Çà ¼¼Æ®¸¦ ÀÛ¼ºÇÒ ¼ö ÀÖ½À´Ï´Ù. ±×·¯³ª, ´ëºÎºÐÀÇ °æ¿ì, CachedRowSet°´Ã¼´Â JDBC API¸¦ »ç¿ëÇØ SQL µ¥ÀÌŸº£À̽º·ÎºÎÅÍ ÃëµæÇÑ µ¥ÀÌÅ͸¦ Æ÷ÇÔÇÕ´Ï´Ù.

9.0 ÇÁ·ÎÆÛƼÀÇ ¼³Á¤

¸ðµç Çà ¼¼Æ®´Â ÇÁ·ÎÆÛƼ¼¼Æ®¸¦ °¡Áö°í ÀÖ½À´Ï´Ù. ÀÌ ¼¼Æ®´Â º¸Åë, ÅøÀ» »ç¿ëÇØ ¼³Á¤ÇÕ´Ï´Ù. Çà ¼¼Æ®ÀÇ ÇÁ·ÎÆÛƼÀÇ ¼ö¿Í Á¾·ù´Â Çà ¼¼Æ®ÀÇ ±â´É°ú µ¥ÀÌÅÍÀÇ Ãëµæ ¹æ¹ý¿¡ µû¶ó¼­ ´Ù¸¨´Ï´Ù. ¿¹¸¦ µé¾î, ResultSet°´Ã¼·ÎºÎÅÍ µ¥ÀÌÅ͸¦ ¾ò´Â Çà ¼¼Æ®´Â µ¥ÀÌŸº£À̽º Á¢¼ÓÀ» ÀÛ¼ºÇϱâ À§Çؼ­ ÇÊ¿äÇÑ ÇÁ·ÎÆÛƼ¸¦ ¼³Á¤ÇÒ ÇÊ¿ä°¡ ÀÖ½À´Ï´Ù. Çà ¼¼Æ®°¡ DriverManager±â´ÉÀ» »ç¿ëÇØ Á¢¼ÓÀ» ÀÛ¼ºÇÏ´Â °æ¿ì´Â ÀûÀýÇÑ µå¶óÀ̹ö¸¦ ½Äº°ÇÏ´Â JDBC URL ÇÁ·ÎÆÛƼ¿Í »ç¿ëÀÚ ¸í°ú Æнº¿öµå¸¦ ÁöÁ¤ÇÏ´Â ÇÁ·ÎÆÛƼ¸¦ ¼³Á¤ÇÒ ÇÊ¿ä°¡ ÀÖ½À´Ï´Ù. ÇÑÆí, Çà ¼¼Æ®°¡ DataSource°´Ã¼¸¦ »ç¿ëÇØ Á¢¼ÓÀ» ÀÛ¼ºÇÏ´Â °æ¿ì (ÀÌ ¹æ¹ýÀÌ Ãßõ µÈ´Ù)´Â JDBC URL ÇÁ·ÎÆÛƼ¸¦ ¼³Á¤ÇÒ ÇÊ¿ä´Â ¾ø½À´Ï´Ù. ´ë½Å¿¡ µ¥ÀÌÅÍ ¼Ò½ºÀÇ ³í¸®¸íÀÇ ÇÁ·ÎÆÛƼ¿Í »ç¿ëÀÚ ¸í ¹× Æнº¿öµåÀÇ ÇÁ·ÎÆÛƼ¸¦ ¼³Á¤ÇÒ ÇÊ¿ä°¡ ÀÖ½À´Ï´Ù.

ÁÖ: DataSource °´Ã¼¸¦ »ç¿ëÇØ Á¢¼ÓÀ» ÀÛ¼ºÇÏ´Â °æ¿ì´Â Java Naming and Directory InterfaceTM (JNDI) API¸¦ »ç¿ëÇÏ´Â ³×ÀÓ ¼­ºñ½º¿¡ DataSource °´Ã¼¸¦ µî·ÏÇÒ ÇÊ¿ä°¡ ÀÖ½À´Ï´Ù. µî·ÏÀº º¸Åë, ½Ã½ºÅÛ °ü¸® Ã¥ÀÓÀÚ°¡ ½Ç½ÃÇÕ´Ï´Ù.

Çà ¼¼Æ®¿¡ µ¥ÀÌŸº£À̽ºÀÇ µ¥ÀÌÅ͸¦ ÀоîµéÀÌ·Á¸é, Ä¿¸àµå ÇÁ·ÎÆÛƼ¸¦ ¼³Á¤ÇÒ ÇÊ¿ä°¡ ÀÖ½À´Ï´Ù. ÀÌ ÇÁ·ÎÆÛƼ´Â PreparedStatement °´Ã¼¸¦ ³ªÅ¸³»´Â Äõ¸®ÀÔ´Ï´Ù. ÀÌ°Í¿¡ ÀÇÇØ Äõ¸®´Â ¼³°è½Ã°¡ ¾Æ´Ï°í ½ÇÇà½Ã·Î ¼³Á¤µÇ´Â ÆĶó¹ÌÅÍ Ç÷¹À̽ºÈ¦´õ¸¦ °¡Áú ¼ö°¡ ÀÖ½À´Ï´Ù. ÀÌ·¯ÇÑ Ç÷¹À̽ºÈ¦´õ ÆĶó¹ÌÅÍ¿¡ °ªÀ» ¼³Á¤Çϱâ À§ÇØ, Çà ¼¼Æ®´Â °¢ µ¥ÀÌÅÍÇüÀÇ °ªÀ» ¼³Á¤ÇÏ´Â ¼³Á¤ ¸Þ¼­µå¸¦ Á¦°øÇÕ´Ï´Ù. ÀÌ·¯ÇÑ ¼³Á¤ ¸Þ¼­µå´Â PreparedStatementÀÎÅÍÆäÀ̽º¿¡ ÀÇÇØ Á¦°øµÇ´Â ¼³Á¤ ¸Þ¼­µå¿Í ÀÚÁÖ ´à¾Ò½À´Ï´Ù.

´ÙÀ½ÀÇ ÄÚµåÀÇ ¹ßÃé´Â CachedRowSet °´Ã¼ crs¿¡ Ä¿¸àµå ÇÁ·ÎÆÛƼ¸¦ ¼³Á¤ÇÏ´Â ¹æ¹ýÀ» ³ªÅ¸³»°í ÀÖ½À´Ï´Ù. ÅøÀÌ ÇÁ·ÎÆÛƼ¸¦ ¼³Á¤ÇÏ´Â °æ¿ì, ÀÌ Äڵ带 »ç¿ëÇÕ´Ï´Ù.

 crs.setCommand("SELECT FIRST_NAME, LAST_NAME, ADDRESS FROM CUSTOMERS" + 
                "WHERE CREDIT_LIMIT > ?  AND REGION = ? ");

Ä¿¸àµåÀÇ Ç÷¹À̽ºÈ¦´õ ÆĶó¹ÌÅÍÀÇ ¼³Á¤¿¡ »ç¿ëµÇ´Â °ªÀº, RowSet °´Ã¼ÀÇ params Çʵ忡 Vector °´Ã¼·Î¼­ Æ÷ÇԵ˴ϴÙ. CachedRowSet Ŭ·¡½º´Â params Çʵ峻ÀÇ ¿ä¼Ò¸¦ ¼³Á¤ÇÏ´Â ¼³Á¤ ¸Þ¼­µå¼¼Æ®¸¦ Á¦°øÇÕ´Ï´Ù. ¾Æ·¡ÀÇ ÄÚµåÀÇ ¹ßÃé¿¡¼­´Â ÀüÀÇ ¿¹ÀÇ Äõ¸®¿¡ Æ÷ÇԵǴ 2°³ÀÇ ÆĶó¹ÌÅ͸¦ ¼³Á¤ÇÕ´Ï´Ù.

 crs.setInt(1, 5000);
 crs.setString(2, "West");

params Çʵ忡 2°³ÀÇ ¿ä¼Ò°¡ Ãß°¡µÇ¾ú½À´Ï´Ù. À̰͵éÀº °¢°¢, ¿ä¼Ò 2°³ ºÐÀÇ ±æÀÌÀÇ ¹è¿­ÀÌ µË´Ï´Ù. ÃÖÃÊÀÇ ¿ä¼Ò´Â ÆĶó¹ÌÅÍ ¹øÈ£, 2¹ø°ÀÇ ¿ä¼Ò´Â ¼³Á¤ÇÏ´Â °ªÀ» ³ªÅ¸³À´Ï´Ù. ÀÌ °æ¿ì params ÃÖÃÊÀÇ ¿ä¼Ò´Â 1, 5000, 2¹ø°ÀÇ ¿ä¼Ò´Â 2, "West"°¡ µË´Ï´Ù. ¾îÇø®ÄÉÀ̼ÇÀº, execute ¸Þ¼­µå¸¦ È£ÃâÇÏ´Â °ÍÀ¸·Î ÀÌ RowSet °´Ã¼ÀÇ ¸®´õ¸¦ È£ÃâÇÕ´Ï´Ù. ÀÌ°Í¿¡ ÀÇÇØ ±× readData ¸Þ¼­µå°¡ È£ÃâµË´Ï´Ù. ÀÌ ±¸Çö¿¡ Æ÷ÇԵǴ readData´Â params ³»ÀÇ °ªÀ» ÃëµæÇØ, À̰͵éÀ» »ç¿ëÇØ Ä¿¸àµåÀÇ Ç÷¹À̽ºÈ¦´õ ÆĶó¹ÌÅ͸¦ ¼³Á¤ÇÕ´Ï´Ù. ¾Æ·¡ÀÇ ÄÚµåÀÇ ¹ßÃé¿¡¼­´Â Connection °´Ã¼ con Ãëµæ ÈÄ¿¡ ¸®´õ°¡ Ç÷¹À̽ºÈ¦´õ ÆĶó¹ÌÅ͸¦ ¼³Á¤ÇÏ´Â ¼ø¼­¸¦ ³ªÅ¸³À´Ï´Ù.

 PreparedStatement pstmt = con.prepareStatement(crs.getCommand());
 reader.decodeParams();
 // decodeParams figures out which setter methods to use and does something 
 // like the following:
 //    for (i = 0; i < params.length; i++) { 
 //        pstmt.setObject(i + 1, params[i]);
 //    }

ÀÌ ½ÃÁ¡¿¡¼­ crs Ä¿¸àµå´Â Äõ¸® "SELECT FIRST_NAME, LAST_NAME, ADDRESS FROM CUSTOMERS WHERE CREDIT_LIMIT > 5000 AND REGION = "West"°¡ µË´Ï´Ù. readData ¸Þ¼­µå´Â ´ÙÀ½ÀÇ ÄÚµå·Î ÀÌ Ä¿¸àµå¸¦ ½ÇÇàÇÏ´Â °ÍÀ¸·Î½á, crs¿¡ ÀÐÈ÷´Â rs µ¥ÀÌÅ͸¦ ÃëµæÇÕ´Ï´Ù.

 ResultSet rs = pstmt.executeQuery();

ÀüÀÇ ÄÚµåÀÇ ¹ßÃé¿¡¼­´Â ¹èÈÄ¿¡¼­ ÇàÇØÁö´Â 󸮿¡ ´ëÇØ ¼³¸íÇß½À´Ï´Ù. ÀÌ·¯ÇÑ ÄÚµå´Â ¾îÇø®ÄÉÀ̼dz»¿¡¼­´Â ºñÇ¥½ÃÀ̸ç, readData ³ª decodeParams µîÀÇ ¸Þ¼­µå¸¦ È£ÃâÇÏÁö ¾Ê½À´Ï´Ù. ÀÌ°Í¿¡ ´ëÇؼ­ ¾Æ·¡ÀÇ ÄÚµåÀÇ ¹ßÃé´Â ¾îÇø®ÄÉÀ̼ÇÀÇ ½ÇÇà ³»¿ëÀ» ³ªÅ¸³»°í ÀÖ½À´Ï´Ù. ÀÌ Äڵ忡¼­´Â Çà ¼¼Æ®ÀÇ Ä¿¸àµå¸¦ ¼³Á¤ÇØ, Ä¿¸àµåÀÇ ÆĶó¹ÌÅ͸¦ ¼³Á¤ÇØ, Ä¿¸àµå¸¦ ½ÇÇàÇÕ´Ï´Ù. execute ¸Þ¼­µå¸¦ È£ÃâÇÏ´Â °Í¸¸À¸·Îcrs¿¡ ¿ä±¸µÈ °Ñ(Ç¥) CUSTOMERS µ¥ÀÌÅÍ°¡ ÀÐÈü´Ï´Ù.

 crs.setCommand("SELECT FIRST_NAME, LAST_NAME, ADDRESS FROM CUSTOMERS" + 
                "WHERE CREDIT_LIMIT > ?  AND REGION = ? ");
 crs.setInt(1, 5000);
 crs.setString(2, "West");
 crs.execute();
 

10.0 ÆäÀÌ¡ µ¥ÀÌÅÍ

CachedRowSet°´Ã¼´Â µ¥ÀÌÅ͸¦ ¸Þ¸ð¸®¿¡ Æ÷ÇÔÇϱâ À§ÇØ, ÇÑ ¹ø¿¡ Æ÷ÇÔÇÒ ¼ö ÀÖ´Â µ¥ÀÌÅÍÀÇ ¾çÀº »ç¿ë °¡´ÉÇÑ ¸Þ¸ð¸®ÀÇ ¾ç¿¡ ÀÇÇØ Á¤ÇØÁý´Ï´Ù. ÀÌ Á¦ÇÑÀ» ȸÇÇÇϱâ À§ÇØ, CachedRowSet°´Ã¼¿¡¼­´Â ResultSet°´Ã¼·ÎºÎÅÍ ¡¸ÆäÀÌÁö¡¹¶ó°í ºÒ¸®´Â üũ·Î µ¥ÀÌÅ͸¦ ÃëµæÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ µµ±¸¸¦ ÀÌ¿ëÇÏ·Á¸é, ¾îÇø®ÄÉÀ̼ÇÀ¸·ÎsetPageSize¸Þ¼­µå¸¦ »ç¿ëÇØ, ÆäÀÌÁö¿¡ Æ÷ÇÔÇÏ´Â Çà¼ö¸¦ ¼³Á¤ÇÕ´Ï´Ù. Áï, ÆäÀÌÁö »çÀÌÁ 5 ·Î ¼³Á¤ÇØ ÀÖ´Â °æ¿ì, µ¥ÀÌÅÍ ¼Ò½º·ÎºÎÅÍ ÇÑ ¹ø¿¡ 5 ÇàÀÇ µ¥ÀÌÅÍÀÇ Ã¼Å©°¡ ÆäÄ¡ µË´Ï´Ù. ¶Ç, ¾îÇø®ÄÉÀ̼ǿ¡¼­´Â ¿É¼ÇÀ¸·Î ÇÑ ¹ø¿¡ ÆäÄ¡ ÇÒ ¼ö ÀÖ´Â ÃÖ´ëÇà¼öµµ ¼³Á¤ÇÒ ¼ö ÀÖ½À´Ï´Ù. ÃÖ´ëÇà¼ö¸¦ 0 À¸·Î ¼³Á¤ÇßÀ» °æ¿ì, ¶Ç´Â ÃÖ´ëÇà¼ö¸¦ ¼³Á¤ÇÏÁö ¾Ê´Â °æ¿ì, ÇÑ ¹ø¿¡ ÆäÄ¡ °¡´ÉÇÑ Çà¼öÀÇ Á¦ÇÑÀº ¾ø½À´Ï´Ù.

ÇÁ·ÎÆÛƼÀÇ ¼³Á¤ ÈÄ, CachedRowSet °´Ã¼¿¡ populate ¶Ç´Â execute ¸Þ¼­µå¸¦ »ç¿ëÇØ, µ¥ÀÌÅ͸¦ Æ÷ÇÔÇÒ ÇÊ¿ä°¡ ÀÖ½À´Ï´Ù. ¾Æ·¡ÀÇ ÄÚµåÇà¿¡ populate ¸Þ¼­µå¸¦ »ç¿ëÇÑ ¿¹¸¦ ³ªÅ¸³À´Ï´Ù. ÀÌ ¸Þ¼­µå¿¡¼­´Â ResultSet ÇÚµé°ú ÇàÀÇ ÃëµæÀ» °³½ÃÇÏ´Â ResultSet °´Ã¼³»ÀÇ ÇàÀÇ 2°³ÀÇ ÆĶó¹ÌÅ͸¦ ÃëÇÕ´Ï´Ù.

 CachedRowSet crs = new CachedRowSetImpl();
 crs.setMaxRows(20);
 crs.setPageSize(4);
 crs.populate(rsHandle, 10);
 
ÀÌ Äڵ带 ½ÇÇàÇϸé, crs¿¡ rsHandleÀÇ 10 Çà °ºÎÅÍ ½ÃÀ۵Ǵ 4 Çà ºÐÀÌ Æ÷ÇԵ˴ϴÙ.

´ÙÀ½ÀÇ ÄÚµåÀÇ ¹ßÃé¿¡ execute ¸Þ¼­µå¸¦ »ç¿ëÇØ, CachedRowSet °´Ã¼¿¡ Æ÷ÇÔÇÏ´Â ¿¹¸¦ ³ªÅ¸³À´Ï´Ù. ÀÌ ¸Þ¼­µå´Â ÆĶó¹ÌÅͷμ­ Connection °´Ã¼¸¦ ÃëÇÏ´Â °æ¿ì¶ó°í ÃëÇÏÁö ¾Ê´Â °æ¿ì°¡ ÀÖ½À´Ï´Ù. ÀÌ Äڵ忡¼­´Â execute¿¡ Connection °´Ã¼ conHandle¸¦ °Ç³×ÁÖ°í ÀÖ½À´Ï´Ù.

´ÙÀ½ÀÇ ÄÚµåÀÇ ¹ßÃé¿Í »ó±âÀÇ Äڵ忡´Â 2°³ÀÇ Â÷ÀÌ°¡ ÀÖ½À´Ï´Ù. ¿ì¼±, setMaxRows ¸Þ¼­µå¸¦ È£ÃâÇÏÁö ¾Ê±â ¶§¹®¿¡ crs¿¡ Æ÷ÇÔÇÒ ¼ö ÀÖ´Â ÃÖ´ëÇà¼ö¿¡ Á¦ÇÑÀÌ ¾ø½À´Ï´Ù (crs¿¡´Â Ç×»ó, ¸Þ¸ð¸®³»¿¡ Æ÷ÇÔÇÒ ¼ö ÀÖ´Â µ¥ÀÌÅÍ·®ÀÇ Á¦ÇÑÀÌ ÃÖ¿ì¼±À¸·Î Á¸ÀçÇÏ´Â °Í¿¡ ÁÖÀÇÇØ ÁÖ¼¼¿ä). 2 Á¡¸ñÀÇ Â÷ÀÌ´Â execute ¸Þ¼­µå¿¡ ÇàÀÇ ÃëµæÀ» °³½ÃÇÏ´Â ResultSet °´Ã¼³»·ÎºÎÅÍÀÇ Çà ¹øÈ£¸¦ °Ç³×ÁÙ ¼ö ¾ø´Â °ÍÀÔ´Ï´Ù. ÀÌ ¸Þ¼­µå´Â Ç×»ó ¼±µÎÇàÀ¸·ÎºÎÅÍ °³½ÃÇÕ´Ï´Ù.

 CachedRowSet crs = new CachedRowSetImpl();
 crs.setPageSize(5);
 crs.execute(conHandle);
 
ÀÌ Äڵ带 ½ÇÇàÇϸé, crs¿¡ ´ëÇÑ Ä¿¸àµå¿¡ ÀÇÇØ »ý¼ºµÈ ResultSet°´Ã¼·ÎºÎÅÍ 5 Çà ºÐÀÇ µ¥ÀÌÅÍ°¡ crs¿¡ Æ÷ÇԵ˴ϴÙ. crsÀÇ ¶óÀÌÅÍ´Â conHandle¸¦ »ç¿ëÇØ µ¥ÀÌÅÍ ¼Ò½º¿¡ Á¢¼ÓÇØ, crs¿¡ ´ëÇؼ­ Ä¿¸àµå¸¦ ½ÇÇàÇÕ´Ï´Ù. ÀÌ°Í¿¡ ÀÇÇØ ¾îÇø®ÄÉÀ̼ÇÀº ´Ù¸¥ CachedRowSet°´Ã¼ÀÇ µ¥ÀÌÅÍÀÇ Á¶ÀÛ°ú °°ÀÌ crsÀÇ µ¥ÀÌÅ͸¦ Á¶ÀÛÇÒ ¼ö ÀÖ½À´Ï´Ù.

¾îÇø®ÄÉÀ̼ÇÀ¸·Î ´ÙÀ½ÀÇ ÆäÀÌÁö (µ¥ÀÌÅÍÀÇ Ã¼Å©)¿¡ ¾×¼¼½º ÇÏ·Á¸é, nextPage ¸Þ¼­µå¸¦ È£ÃâÇÕ´Ï´Ù. ÀÌ ¸Þ¼­µå´Â »õ·Î¿î CachedRowSet °´Ã¼¸¦ ÀÛ¼ºÇØ, °Å±â¿¡ ´ÙÀ½ÀÇ ÆäÀÌÁöÀÇ µ¥ÀÌÅ͸¦ Æ÷ÇÔÇÕ´Ï´Ù. ¿¹¸¦ µé¾î, CachedRowSet °´Ã¼ÀÇ Ä¿¸àµå°¡ 1000 Çà ºÐÀÇ µ¥ÀÌÅ͸¦ Æ÷ÇÔÇÏ´Â ResultSet °´Ã¼ rs¸¦ µ¹·ÁÁÖ¾ú´Ù°í ÇÕ´Ï´Ù. ÆäÀÌÁö »çÀÌÁî°¡ 100 À¸·Î ¼³Á¤µÇ¾î ÀÖ´Â °æ¿ì, nextPage ¸Þ¼­µåÀÇ ÃÖÃÊÀÇ È£Ãâ·Îrs ¼±µÎÀÇ 100 ÇàÀ» Æ÷ÇÔÇÏ´Â CachedRowSet °´Ã¼°¡ ÀÛ¼ºµË´Ï´Ù. ÀÌ ¼±µÎÀÇ 100 ÇàÀÇ µ¥ÀÌÅÍÀÇ Ã³¸®°¡ ³¡³ª¸é, ¾îÇø®ÄÉÀ̼ÇÀº ´Ù½Ã nextPage ¸Þ¼­µå¸¦ È£ÃâÇØ, rs ·ÎºÎÅÍ ´ÙÀ½ÀÇ 100 ÇàÀ» Æ÷ÇÔÇÏ´Â ´Ù¸¥ CachedRowSet °´Ã¼¸¦ ÀÛ¼ºÇÒ ¼ö ÀÖ½À´Ï´Ù. ÃÖÃÊÀÇ CachedRowSet °´Ã¼ÀÇ µ¥ÀÌÅÍ´Â 2¹ø°ÀÇ CachedRowSet °´Ã¼ÀÇ µ¥ÀÌÅÍ·Î ¿Å°ÜÁö°í Àֱ⠶§¹®¿¡ ¸Þ¸ð¸®³»¿¡ ³²¾Æ ÀÖÁö ¾Ê½À´Ï´Ù. nextPage ¸Þ¼­µåÀÇ 10 ¹ø°ÀÇ È£Ãâ¿¡¼­´Â 10 ¹ø°ÀÇ CachedRowSet °´Ã¼¿¡ rs ·ÎºÎÅÍÀÇ ¸¶Áö¸· 100 ÇàÀÇ µ¥ÀÌÅÍ°¡ Æ÷ÇԵǾî À̰͵éÀÌ ¸Þ¸ð¸®¿¡ Æ÷ÇԵ˴ϴÙ. Ç×»ó ¸Þ¸ð¸®¿¡´Â 1°³ÀÇ CachedRowSet °´Ã¼ÀÇ µ¥ÀÌÅ͸¸ÀÌ Æ÷ÇÔµÇ°Ô µË´Ï´Ù.

nextPage ¸Þ¼­µå´Â ÇöÀçÀÇ ÆäÀÌÁö°¡ ÇàÀÇ ¸¶Áö¸· ÆäÀÌÁö°¡ ¾Æ´Ñ µ¿¾ÈÀº true¸¦ µ¹·ÁÁÖ°í, ±× ÀÌÈÄÀÇ ÆäÀÌÁö°¡ ¾ø¾îÁö¸é false¸¦ ¸®ÅÏÇÕ´Ï´Ù. µû¶ó¼­, ´ÙÀ½ÀÇ ÄÚµåÇà¿¡ ³ªÅ¸³»µµ·Ï, while ·çÇÁ·Î »ç¿ëÇϸé, ¸ðµç ÆäÀÌÁö¸¦ ÃëµæÇÒ ¼ö ÀÖ½À´Ï´Ù.

 CachedRowSet crs = CachedRowSetImpl();
 crs.setPageSize(100);
 crs.execute(conHandle);

while(crs.next() { . . . // operate on first chunk of 100 rows in crs, row by row } while(crs.nextPage()) { while(crs.next()) { . . . // operate on the subsequent chunks (of 100 rows each) in crs, // row by row } }

ÀÌ ÄÚµåÀÇ ¹ßÃ鸦 ½ÇÇàÇϸé, ¾îÇø®ÄÉÀ̼ÇÀº 1000 ÇàÀ» ¸ðµÎ traversal ÇÕ´Ï´Ù¸¸, ¸Þ¸ð¸®¿¡´Â ÇÑ ¹ø¿¡ 100 Çà±îÁö ¹Û¿¡ Æ÷ÇÔµÇÁö ¾Ê½À´Ï´Ù.

CachedRowSetÀÎÅÍÆäÀ̽º´Â previousPage ¸Þ¼­µåµµ Á¤ÀÇÇÏ°í ÀÖ½À´Ï´Ù. nextPage ¸Þ¼­µå°¡ ResultSet next ¸Þ¼­µå¿¡ À¯»çÇÏ°í ÀÖ´Â °Í°ú °°ÀÌ, previousPage ¸Þ¼­µå´Â ResultSet previous ¸Þ¼­µå¸¦ ´à¾Æ ÀÖ½À´Ï´Ù. nextPage ¸Þ¼­µå¿Í °°°Ô, previousPage´Â ÆäÀÌÁö »çÀÌÁî·Î¼­ ¼³Á¤µÇ¾úÀ» »ÓÀÇ Çà¼ö¸¦ Æ÷ÇÔÇÏ´Â CachedRowSet °´Ã¼¸¦ ÀÛ¼ºÇÕ´Ï´Ù. ±× ¶§¹®¿¡ ¿¹¸¦ µé¾î »ó±âÀÇ ÄÚµåÀÇ ¹ßÃéÀÇ ¸¶Áö¸· while ·çÇÁ³»¿¡¼­ previousPage ¸Þ¼­µå¸¦ »ç¿ëÇØ, ¸¶Áö¸· ÆäÀÌÁö·ÎºÎÅÍ ¼±µÎÀÇ ÆäÀÌÁö±îÁö, ¹Ý´ë·Î ÆäÀÌÁö¸¦ À̵¿ÇÒ ¼ö ÀÖ½À´Ï´Ù . previousPage ¸Þ¼­µå´Â while ·çÇÁ·Î »ç¿ëÇÒ ¼ö ÀÖ´Â Á¡À¸·Î½á nextPage¿Í µµ ´à¾Ò½À´Ï´Ù. ´Ù¸¸, Àü¿¡ ´Ù¸¥ ÆäÀÌÁö°¡ Á¸ÀçÇÏ´Â µ¿¾È true¸¦ µ¹·ÁÁÖ°í, ±× ÀÌÀüÀÇ ÆäÀÌÁö°¡ ¾ø¾îÁö¸é, false¸¦ µ¹·ÁÁÖ´Â Á¡ÀÌ ´Ù¸¨´Ï´Ù.

´ÙÀ½ÀÇ ÄÚµåÀÇ ¹ßÃé¿¡ ³ªÅ¸³»µµ·Ï, previous ¸Þ¼­µå´Â °¢ ÆäÀÌÁöÀÇ ¸¶Áö¸· ÇàÀÇ ¸»¹Ì¿¡ Ä¿¼­¸¦ µÎ´Â °ÍÀ¸·Î °¢ ÆäÀÌÁöÀÇ ¸Ç ¸¶Áö¸· ÁٷκÎÅÍ ¼±µÎÇà±îÁö À̵¿ÇÕ´Ï´Ù. ȤÀº °¢ ÆäÀÌÁöÀÇ ¼±µÎÇàÀÇ Àü¿¡ Ä¿¼­¸¦ µÎ¾î, while ·çÇÁ·Î next ¸Þ¼­µå¸¦ »ç¿ëÇØ, °¢ ÆäÀÌÁöÀÇ ¼±µÎÇàÀ¸·ÎºÎÅÍ ¸Ç ¸¶Áö¸· ÁÙ±îÁö À̵¿ÇÒ ¼öµµ ÀÖ½À´Ï´Ù.

´ÙÀ½ÀÇ ÄÚµåÀÇ ¹ßÃé¿¡¼­´Â »ó±âÀÇ ÄÚµåÀÇ ¹ßÃéÀÇ °è¼ÓÀ¸·Î 10 °³Â°ÀÇ CachedRowSet °´Ã¼ÀÇ Ä¿¼­°¡ ¸¶Áö¸· Çà¿¡ ÀÖÀ¸¸é °¡Á¤ÇÏ°í ÀÖ½À´Ï´Ù. ÀÌ Äڵ忡¼­´Â Ä¿¼­¸¦ ¸Ç ¸¶Áö¸· ÁÙÀÇ µÚ·Î À̵¿ÇÏ°í Àֱ⠶§¹®¿¡ previous ¸Þ¼­µåÀÇ ÃÖÃÊÀÇ È£Ãâ·Î Ä¿¼­¸¦ ¸Ç ¸¶Áö¸· ÁÙ¿¡ µÇµ¹¸³´Ï´Ù. ¸¶Áö¸· ÆäÀÌÁö (CachedRowSet °´Ã¼ crs)ÀÇ ¸ðµç ÇàÀ» À̵¿Çϸé, ÄÚµå´Â while ·çÇÁ¿¡ µé¾î°¡ 9 ÆäÀÌÁö´«À¸·Î À̵¿ÇØ, ¿ª¹æÇâÀ¸·Î ÇàÀ» À̵¿ÇØ, 8 ÆäÀÌÁö´«À¸·Î À̵¿ÇØ, ¿ª¹æÇâÀ¸·Î ÇàÀ» À̵¿ÇØ, ¶È°°ÀÌÀÇÇØ ¼±µÎ ÆäÀÌÁöÀÇ ¼±µÎÇà±îÁö ³ª°©´Ï´Ù.

     crs.afterLast();
     while(crs.previous())  {
         .  .  .  // navigate through the rows, last to first
     {
     while(crs.previousPage())  {
         crs.afterLast();
         while(crs.previous())  {
             .  .  .  // go from the last row to the first row of each page
         }
     }
 


ÇÊµå °³¿ä
static boolean COMMIT_ON_ACCEPT_CHANGES
          acceptChanges()ÀÇ È£Ãâ½Ã¿¡ CachedRowSet°´Ã¼ÀÇ SyncProvider¿¡ º¯°æÀ» À§Å¹½Ãŵ´Ï´Ù.
 
ÀÎÅÍÆäÀ̽º java.sql. ResultSet ·ÎºÎÅÍ »ó¼ÓµÈ Çʵå
CLOSE_CURSORS_AT_COMMIT, CONCUR_READ_ONLY, CONCUR_UPDATABLE, FETCH_FORWARD, FETCH_REVERSE, FETCH_UNKNOWN, HOLD_CURSORS_OVER_COMMIT, TYPE_FORWARD_ONLY, TYPE_SCROLL_INSENSITIVE, TYPE_SCROLL_SENSITIVE
 
¸Þ¼­µå °³¿ä
 void acceptChanges ()
          ÇàÀÇ °»½ÅÀ» ¼Û½ÅÇØ, ÀÌ CachedRowSet°´Ã¼¿¡ÀÇ º¯°æÀ» ºÎÇÏÀÇ µ¥ÀÌÅÍ ¼Ò½º¿¡ »ðÀÔÇϰųª ºÎÇÏÀÇ µ¥ÀÌÅÍ ¼Ò½º·ÎºÎÅÍ »èÁ¦Çϰųª ÇÕ´Ï´Ù.
 void acceptChanges (Connection  con)
          ÁöÁ¤µÈ Connection°´Ã¼¸¦ »ç¿ëÇØ µ¥ÀÌÅÍ ¼Ò½º¿¡ÀÇ Á¢¼ÓÀ» È®¸³ÇØ, ¸ðµç ÇàÀÇ °»½ÅÀ» ¼Û½ÅÇØ, ÀÌ CachedRowSet°´Ã¼¿¡ µ¥ÀÌÅÍ ¼Ò½º¿¡ÀÇ º¯°æÀ» »ðÀÔÇϰųª »èÁ¦Çϰųª ÇÕ´Ï´Ù.
 boolean columnUpdated (int idx)
          ÀÌ CachedRowSet°´Ã¼ÀÇ ÇöÀçÀÇ ÀºÇà³»ÀÇ ÁöÁ¤µÈ ¿­ÀÌ °»½ÅµÇ¾ú´ÂÁö ¾î¶°Çß´ÂÁö¸¦ ³ªÅ¸³À´Ï´Ù.
 boolean columnUpdated (String  columnName)
          ÀÌ CachedRowSet°´Ã¼ÀÇ ÇöÀçÀÇ ÀºÇà³»ÀÇ ÁöÁ¤µÈ ¿­ÀÌ °»½ÅµÇ¾ú´ÂÁö ¾î¶°Çß´ÂÁö¸¦ ³ªÅ¸³À´Ï´Ù.
 void commit ()
          CachedRowSet°´Ã¼ÀÇ SyncProvider¿¡´Â ResultSetÀÇ Connection°´Ã¼Àΰ¡ »ý¼ºÀÚ¿¡°Ô °Ç³×Áö´Â JDBC ÇÁ·ÎÆÛƼ°¡ Æ÷ÇԵ˴ϴÙ.
 CachedRowSet createCopy ()
          ÀÌ CachedRowSet°´Ã¼ÀÇ µ¥ÀÌÅÍÀÇ µö º¹»çÀÎ RowSet¿À ºêÁ¦Å©Æ®¸¦ ÀÛ¼ºÇÕ´Ï´Ù.
 CachedRowSet createCopyNoConstraints ()
          ÀÌ CachedRowSet°´Ã¼ÀÇ µö Ä«ÇÇÀÌÁö¸¸, µ¶¸³ÇÏ°í ÀÖ´Â CachedRowSet¿À ºêÁ¦Å©Æ®¸¦ ÀÛ¼ºÇÕ´Ï´Ù.
 CachedRowSet createCopySchema ()
          ÀÌ CachedRowSet°´Ã¼ÀÇ ºñ¾îÀÖ´Â º¹»çÀÎ CachedRowSet¿À ºêÁ¦Å©Æ®¸¦ ÀÛ¼ºÇÕ´Ï´Ù.
 RowSet createShared ()
          ÀÌ CachedRowSet°´Ã¼¿Í °°Àº µ¥ÀÌÅÍ¿¡ÀÇÇØ ¹é¾÷ µÈ »õ·Î¿î RowSet¿À ºêÁ¦Å©Æ®¸¦ ¸®ÅÏÇÕ´Ï´Ù.
 void execute (Connection  conn)
          µ¥ÀÌÅÍ ¼Ò½º°¡ µÇ´Â °á°ú ¼¼Æ®¸¦ »ý¼ºÇϱâ À§ÇÑ ÁöÁ¤ÀÇ Á¢¼ÓÀ» »ç¿ëÇØ, ÀÌ CachedRowSet°´Ã¼¿¡ µ¥ÀÌÅ͸¦ ÀоîµéÀÔ´Ï´Ù.
 int[] getKeyColumns ()
          ÀÌ CachedRowSet°´Ã¼ÀÇ ÇàÀ» ÀÏÀÇ¿¡ ½Äº°ÇÏ´Â Å°¸¦ ±¸¼ºÇÏ´Â ¿­À» ³ªÅ¸³»´Â 1 °³ÀÌ»óÀÇ ¿­¹øÈ£¸¦ Æ÷ÇÔÇÏ´Â ¹è¿­À» ¸®ÅÏÇÕ´Ï´Ù.
 ResultSet getOriginal ()
          ÀÌ CachedRowSet°´Ã¼ÀÇ ¿øÀÇ °ªÀ» Æ÷ÇÔÇÏ´Â ResultSet¿ÀºêÁ¦ ÄíÆ®¸¦ ¸®ÅÏÇÕ´Ï´Ù.
 ResultSet getOriginalRow ()
          ÀÌ CachedRowSet°´Ã¼ÀÇ ÇöÀçÀÇ ÇุÀÇ ¿øÀÇ °ªÀ» Æ÷ÇÔÇÏ´Â ResultSet¿À ºêÁ¦Å©Æ®¸¦ ¸®ÅÏÇÕ´Ï´Ù.
 int getPageSize ()
          CachedRowSet°´Ã¼ÀÇ ÆäÀÌÁö »çÀÌÁ ¸®ÅÏÇÕ´Ï´Ù.
 RowSetWarning getRowSetWarnings ()
          ÀÌ RowSet°´Ã¼¿¡ °üÇÑ È£Ãâ¿¡ ÀÇÇØ º¸°íµÇ´Â ÃÖÃÊÀÇ °æ°í¸¦ ¸®ÅÏÇÕ´Ï´Ù.
 boolean getShowDeleted ()
          ÇöÀçÀÇ Çà ¼¼Æ®³»ÀÇ »èÁ¦ÇàÀ» Ç¥½ÃÇÒÁö ¾î¶³Áö¸¦ ³ªÅ¸³»´Â booleanÀ» ÃëµæÇÕ´Ï´Ù.
 SyncProvider getSyncProvider ()
          ÀÌ CachedRowSet°´Ã¼ÀÇ SyncProvider±¸ÇöÀ» ÃëµæÇÕ´Ï´Ù.
 String getTableName ()
          ÀÌ CachedRowSet°´Ã¼ÀÇ ÀÛ¼º¿¡ »ç¿ëµÈ °´Ã¼ (Å×À̺í) ÀÇ ½Äº°ÀÚ¸¦ ¸®ÅÏÇÕ´Ï´Ù.
 boolean nextPage ()
          CachedRowSetÀÇ ÇöÀçÀÇ ÆäÀÌÁö¸¦ ÁõºÐ ÇÕ´Ï´Ù.
 void populate (ResultSet  data)
          ÀÌ CachedRowSet°´Ã¼¿¡ ÁöÁ¤µÈ ResultSet°´Ã¼ ÀÇ µ¥ÀÌÅ͸¦ ÀоîµéÀÔ´Ï´Ù.
 void populate (ResultSet  rs, int startRow)
          ÀÌ CachedRowSet °´Ã¼·Î ÁöÁ¤µÈ ResultSet °´Ã¼ÀÇ µ¥ÀÌÅ͸¦ ÀоîµéÀÔ´Ï´Ù.
 boolean previousPage ()
          CachedRowSetÀÇ ÇöÀçÀÇ ÆäÀÌÁö¸¦ °¨ ºÐ ÇÕ´Ï´Ù.
 void release ()
          ÀÌ CachedRowSet°´Ã¼ÀÇ ÇöÀçÀÇ ÄÁÅÙÃ÷¸¦ ÇعæÇØ, µî·ÏÀ» ¸¶Ä£ ¸ðµç ¸®½º³Ê¿¡°Ô rowSetChangedÀÌ °ÜÀÌ»è¶ì¸¦ ¼Û½ÅÇÕ´Ï´Ù.
 void restoreOriginal ()
          ÀÌ CachedRowSet°´Ã¼¸¦ ¿øÀÇ °ª (ÀüȸÀÇ º¯°æ ¼¼Æ®ÀÇ ÀüÀÇ °ª)¿¡ µÇµ¹¸³´Ï´Ù.
 void rollback ()
          CachedRowSet°´Ã¼ÀÇ SyncProvider¿¡´Â ¿øÀÇ ResultSetÀÇ Connection°´Ã¼Àΰ¡ °Å±â¿¡ °Ç³×¹Þ´Â JDBC ÇÁ·ÎÆÛƼ°¡ Æ÷ÇԵ˴ϴÙ.
 void rollback (Savepoint  s)
          CachedRowSet°´Ã¼ÀÇ SyncProvider¿¡´Â ¿øÀÇ ResultSetÀÇ Connection°´Ã¼Àΰ¡ °Å±â¿¡ °Ç³×¹Þ´Â JDBC ÇÁ·ÎÆÛƼ°¡ Æ÷ÇԵ˴ϴÙ.
 void rowSetPopulated (RowSetEvent  event, int numRows)
          µî·ÏÀÌ ³¡³­ ¸®½º³Ê¿¡°Ô, ÁöÁ¤µÈ RowSetEvent °´Ã¼³»ÀÇ RowSet °´Ã¼°¡ ´Ù¼öÀÇ Ãß°¡ÇàÀ» ÀоîµéÀÎ °ÍÀ» ÅëÁöÇÕ´Ï´Ù.
 void setKeyColumns (int[] keys)
          ÀÌ CachedRowSet°´Ã¼ÀÇ keyColsÇʵ忡 ÁöÁ¤µÈ ·Ä¹ø È£ÀÇ ¹è¿­ (ÀÌ CachedRowSet°´Ã¼³»ÀÇ ÇàÀ» ÀÏÀÇ¿¡ ½Äº°ÇÏ´Â Å°¸¦ ±¸¼ºÇÑ´Ù)À» ¼³Á¤ÇÕ´Ï´Ù.
 void setMetaData (RowSetMetaData  md)
          ÁöÁ¤µÈ RowSetMetaData°´Ã¼¸¦ »ç¿ëÇØ, CachedRowSet¿Àºê Á§Æ®ÀÇ ¸ÞŸµ¥ÀÌŸ¸¦ ¼³Á¤ÇÕ´Ï´Ù.
 void setOriginalRow ()
          ÀÌ CachedRowSet°´Ã¼ÀÇ ÇöÀçÀÇ ÇàÀ» ¿øÀÇ ÇàÀ¸·Î¼­ ¼³Á¤ÇÕ´Ï´Ù.
 void setPageSize (int size)
          CachedRowSet°´Ã¼ÀÇ ÆäÀÌÁö »çÀÌÁ ¼³Á¤ÇÕ´Ï´Ù.
 void setShowDeleted (boolean b)
          showDeletedÇÁ·ÎÆÛƼ¿¡ ÁöÁ¤µÈ booleanÄ¡¸¦ ¼³Á¤ÇÕ´Ï´Ù.
 void setSyncProvider (String  provider)
          ÀÌ CachedRowSet°´Ã¼ÀÇ SyncProvider°´Ã¼·Î ÁöÁ¤ ÇÑ °´Ã¼¸¦ ¼³Á¤ÇÕ´Ï´Ù.
 void setTableName (String  tabName)
          ÀÌ CachedRowSet°´Ã¼ÀÇ ÆÄ»ý¿øÀÇ Å×À̺íÀÇ ½Äº°ÀÚ¸¦, ÁöÁ¤ÀÇ Å×À̺í¸íÀ¸·Î ¼³Á¤ÇÕ´Ï´Ù.
 int size ()
          ÀÌ CachedRowSet°´Ã¼³»ÀÇ Çà¼ö¸¦ ¸®ÅÏÇÕ´Ï´Ù.
 Collection <? > toCollection ()
          ÀÌ CachedRowSet°´Ã¼¸¦, ÀÌ CachedRowSet°´Ã¼ ÀÇ ¸ðµç µ¥ÀÌÅ͸¦ Æ÷ÇÔÇÏ´Â Collection°´Ã¼·Î º¯È¯ÇÕ´Ï´Ù.
 Collection <? > toCollection (int column)
          ÀÌ CachedRowSet°´Ã¼³»ÀÇ ÁöÁ¤µÈ ¿­À» Collection¿Àºê Á§Æ®·Î º¯È¯ÇÕ´Ï´Ù.
 Collection <? > toCollection (String  column)
          ÀÌ CachedRowSet °´Ã¼³»ÀÇ ÁöÁ¤µÈ ¿­À» Collection °´Ã¼·Î º¯È¯ÇÕ´Ï´Ù.
 void undoDelete ()
          ÇöÀçÀÇ ÇàÀÇ »èÁ¦¸¦ Ãë¼ÒÇØ, ¸®½º³Ê·Î ÇàÀÌ º¯°æµÈ °ÍÀ» ÅëÁöÇÕ´Ï´Ù.
 void undoInsert ()
          ¸¸¾à ÇàÀÌ »ðÀÔµÈ »óÅÂÀ̸é, ÇöÀçÀÇ ÇàÀ» »èÁ¦ÇØ, ¸®½º³Ê·Î ÇàÀÌ º¯°æµÈ °ÍÀ» ÅëÁöÇÕ´Ï´Ù.
 void undoUpdate ()
          ¸¸¾à ÇàÀÌ º¯°æµÇ°í ÀÖÀ¸¸é, ÀüȸÀÇ °»½Å Á¶ÀÛÀ» ¹ÙÅÁÀ¸·Î µÇµ¹¸³´Ï´Ù.
 
ÀÎÅÍÆäÀ̽º javax.sql. RowSet ·ÎºÎÅÍ »ó¼ÓµÈ ¸Þ¼­µå
addRowSetListener, clearParameters, execute, getCommand, getDataSourceName, getEscapeProcessing, getMaxFieldSize, getMaxRows, getPassword, getQueryTimeout, getTransactionIsolation, getTypeMap, getUrl, getUsername, isReadOnly, removeRowSetListener, setArray, setAsciiStream, setBigDecimal, setBinaryStream, setBlob, setBoolean, setByte, setBytes, setCharacterStream, setClob, setCommand, setConcurrency, setDataSourceName, setDate, setDate, setDouble, setEscapeProcessing, setFloat, setInt, setLong, setMaxFieldSize, setMaxRows, setNull, setNull, setObject, setObject, setObject, setPassword, setQueryTimeout, setReadOnly, setRef, setShort, setString, setTime, setTime, setTimestamp, setTimestamp, setTransactionIsolation, setType, setTypeMap, setUrl, setUsername
 
ÀÎÅÍÆäÀ̽º java.sql. ResultSet ·ÎºÎÅÍ »ó¼ÓµÈ ¸Þ¼­µå
absolute, afterLast, beforeFirst, cancelRowUpdates, clearWarnings, close, deleteRow, findColumn, first, getArray, getArray, getAsciiStream, getAsciiStream, getBigDecimal, getBigDecimal, getBigDecimal, getBigDecimal, getBinaryStream, getBinaryStream, getBlob, getBlob, getBoolean, getBoolean, getByte, getByte, getBytes, getBytes, getCharacterStream, getCharacterStream, getClob, getClob, getConcurrency, getCursorName, getDate, getDate, getDate, getDate, getDouble, getDouble, getFetchDirection, getFetchSize, getFloat, getFloat, getInt, getInt, getLong, getLong, getMetaData, getObject, getObject, getObject, getObject, getRef, getRef, getRow, getShort, getShort, getStatement, getString, getString, getTime, getTime, getTime, getTime, getTimestamp, getTimestamp, getTimestamp, getTimestamp, getType, getUnicodeStream, getUnicodeStream, getURL, getURL, getWarnings, insertRow, isAfterLast, isBeforeFirst, isFirst, isLast, last, moveToCurrentRow, moveToInsertRow, next, previous, refreshRow, relative, rowDeleted, rowInserted, rowUpdated, setFetchDirection, setFetchSize, updateArray, updateArray, updateAsciiStream, updateAsciiStream, updateBigDecimal, updateBigDecimal, updateBinaryStream, updateBinaryStream, updateBlob, updateBlob, updateBoolean, updateBoolean, updateByte, updateByte, updateBytes, updateBytes, updateCharacterStream, updateCharacterStream, updateClob, updateClob, updateDate, updateDate, updateDouble, updateDouble, updateFloat, updateFloat, updateInt, updateInt, updateLong, updateLong, updateNull, updateNull, updateObject, updateObject, updateObject, updateObject, updateRef, updateRef, updateRow, updateShort, updateShort, updateString, updateString, updateTime, updateTime, updateTimestamp, updateTimestamp, wasNull
 
ÀÎÅÍÆäÀ̽º javax.sql.rowset. Joinable ·ÎºÎÅÍ »ó¼ÓµÈ ¸Þ¼­µå
getMatchColumnIndexes, getMatchColumnNames, setMatchColumn, setMatchColumn, setMatchColumn, setMatchColumn, unsetMatchColumn, unsetMatchColumn, unsetMatchColumn, unsetMatchColumn
 

ÇʵåÀÇ »ó¼¼

COMMIT_ON_ACCEPT_CHANGES

static final boolean COMMIT_ON_ACCEPT_CHANGES
acceptChanges()ÀÇ È£Ãâ½Ã¿¡ CachedRowSet°´Ã¼ÀÇ SyncProvider¿¡ º¯°æÀ» À§Å¹½Ãŵ´Ï´Ù. false ·Î ¼³Á¤µÇ¾î ÀÖ´Â °æ¿ì, º¯°æ ³»¿ëÀº, CachedRowSetÀΟÆ佺Ʈ¶õÀÚÅ© ¼ð ¸Þ¼­µå°¡ ºÒ·Á °¥ ¶§±îÁöÀ§Å¹µÇÁö ¾Ê½À´Ï´Ù.

°ü·Ã Ç׸ñ:
commit(), rollback(), Á¤¼ö Çʵ尪
¸Þ¼­µåÀÇ »ó¼¼

populate

void populate(ResultSet  data)
              throws SQLException 
ÀÌ CachedRowSet°´Ã¼¿¡ ÁöÁ¤µÈ ResultSet°´Ã¼ ÀÇ µ¥ÀÌÅ͸¦ ÀоîµéÀÔ´Ï´Ù.

ÀÌ ¸Þ¼­µå´Â ¾îÇø®ÄÉÀ̼ÇÀÌ ¿ÀÇ ResultSet °´Ã¼¿¡ Á¢¼ÓÇÏ°í ÀÖÀ» ¶§ execute ¸Þ¼­µåÀÇ ´ëü·Î¼­ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. »õ·Î¿î Á¢¼ÓÀ» ¿­¾î ÀÌ CachedRowSet °´Ã¼ÀÇ Ä¿¸àµå¸¦ Àç½ÇÇàÇÒ ÇÊ¿ä°¡ ¾ø´Â Á¡À¸·Î½á, populate ¸Þ¼­µå´Â ÆĶó¹ÌÅ͸¦ ÃëÇÏÁö ¾Ê´Â execute ¸Þ¼­µåº¸´Ù È¿À²ÀûÀÔ´Ï´Ù. ¶Ç, populate ¸Þ¼­µå¸¦ »ç¿ëÇÏ´Â °ÍÀº, ResultSet °´Ã¼¸¦ ÃëÇÏ´Â execute ¸Þ¼­µåº¸´Ù Æí¸®ÇÕ´Ï´Ù.

ÆĶó¹ÌÅÍ:
data - ÀÌ CachedRowSet °´Ã¼¿¡ ÀÐÈ÷´Â µ¥ÀÌÅ͸¦ Æ÷ÇÔÇÑ ResultSet °´Ã¼
¿¹¿Ü:
SQLException - null ÀÇ ResultSet °´Ã¼°¡ Á¦°øµÇ¾úÀ» °æ¿ì, ¶Ç´Â ÀÌ CachedRowSet °´Ã¼°¡ °ü·ÃµÈ ResultSetMetaData °´Ã¼¸¦ ÃëµæÇÒ ¼ö ¾ø´Â °æ¿ì
°ü·Ã Ç׸ñ:
execute(java.sql.Connection), ResultSet, ResultSetMetaData

execute

void execute(Connection  conn)
             throws SQLException 
µ¥ÀÌÅÍ ¼Ò½º°¡ µÇ´Â °á°ú ¼¼Æ®¸¦ »ý¼ºÇϱâ À§ÇÑ ÁöÁ¤ÀÇ Á¢¼ÓÀ» »ç¿ëÇØ, ÀÌ CachedRowSet°´Ã¼¿¡ µ¥ÀÌÅ͸¦ ÀоîµéÀÔ´Ï´Ù. ÀÌ ¸Þ¼­µå´Â ÀÛ¼ºÇÏ´Â ¸ðµç µ¥ÀÌŸº£À̽º Á¢¼ÓÀ» Ŭ·Î¿ìÁî ÇÏ´Â °ÍÀ¸·Î µ¥ÀÌÅÍ ¼Ò½º·ÎºÎÅÍ µ¥ÀÌÅ͸¦ Àо°í ÀÖÀ» ¶§¿Í µ¥ÀÌÅÍ ¼Ò½º¿¡ µ¥ÀÌÅ͸¦ Ãâ·ÂÇÏ°í ÀÖÀ» ¶§ ÀÌ¿Ü, ÀÌ CachedRowSet°´Ã¼°¡ ¹ÌÁ¢¼Ó »óÅÂÀÎ °ÍÀ» º¸ÁõÇÕ´Ï´Ù.

ÀÌ CachedRowSet °´Ã¼ÀÇ ¸®´õ´Â Çà ¼¼Æ®ÀÇ Ä¿¸àµå¸¦ ½ÇÇàÇØ, °á°úÀûÀ¸·Î »ý¼ºµÇ´Â ResultSet °´Ã¼·ÎºÎÅÍ ÀÌ CachedRowSet °´Ã¼¿¡ µ¥ÀÌÅ͸¦ ÀоîµéÀ̱â À§Çؼ­ conn¸¦ »ç¿ëÇØ µ¥ÀÌÅÍ ¼Ò½º¿¡ÀÇ Á¢¼ÓÀ» È®¸³ÇÕ´Ï´Ù. ¶Ç, ÀÌ ¸Þ¼­µå´Â ÀÌ CachedRowSet °´Ã¼ÀÇ »ý¼º ÈÄ¿¡ conn¸¦ ´Ý½À´Ï´Ù.

±¸ÇöÀÇ »ý¼º ÈÄ¿¡ ÀÌ ¸Þ¼­µå¸¦ È£ÃâÇϸé, ÄÁÅÙÃ÷¿Í ¸ÞŸµ¥ÀÌŸ°¡ ¸®¼Â µË´Ï´Ù. ¶Ç, acceptChanges ¸Þ¼­µå¸¦ È£ÃâÇØ, ¾ÆÁ÷ Àû¿ëÇÏ°í ÀÖÁö ¾Ê´Â °»½ÅÀ» È®Á¤ÇÑµÚ ÀÌ ¸Þ¼­µå¸¦ È£ÃâÇϸé, °»½Å ³»¿ëÀº ¾ø¾îÁý´Ï´Ù.

ÆĶó¹ÌÅÍ:
conn - À¯È¿ÇÑ ÇÁ·Î ÆÄƼ¸¦ °¡Áö´Â Ç¥ÁØ JDBC Connection °´Ã¼
¿¹¿Ü:
SQLException - ¹« È¿°úÀÎ Connection °´Ã¼°¡ Á¦°øµÇ¾úÀ» °æ¿ì, ¶Ç´Â µ¥ÀÌÅÍ ¼Ò½º¿ÍÀÇ Á¢¼ÓÀÇ È®¸³½Ã¿¡ ¿¡·¯°¡ ¹ß»ýÇßÀ» °æ¿ì
°ü·Ã Ç׸ñ:
populate(java.sql.ResultSet), Connection

acceptChanges

void acceptChanges()
                   throws SyncProviderException 
ÇàÀÇ °»½ÅÀ» ¼Û½ÅÇØ, ÀÌ CachedRowSet°´Ã¼¿¡ÀÇ º¯°æÀ» ºÎÇÏÀÇ µ¥ÀÌÅÍ ¼Ò½º¿¡ »ðÀÔÇϰųª ºÎÇÏÀÇ µ¥ÀÌÅÍ ¼Ò½º·ÎºÎÅÍ »èÁ¦Çϰųª ÇÕ´Ï´Ù.

ÀÌ ¸Þ¼­µå´Â ÀÌ CachedRowSet °´Ã¼ÀÇ ¶óÀÌÅͻ󿡼­ ºÒ·Á°¡ ¹èÈÄ¿¡¼­ 󸮸¦ ½Ç½ÃÇÕ´Ï´Ù. Ç¥ÁØ CachedRowSet ±¸ÇöÀº, SyncFactory ½Ì±Û ÅæÀ» »ç¿ëÇØ SyncProviderÀνºÅϽº¸¦ ¾ò´Â °ÍÀ¸·Î½á, RowSetWriter °´Ã¼ (¶óÀÌÅÍ)¸¦ Á¦°øÇÕ´Ï´Ù. ¶óÀÌÅÍ´Â ÀÌ CachedRowSet °´Ã¼¿¡ÀÇ º¯°æÀ» µ¥ÀÌÅÍ ¼Ò½º¿¡ ¹Ý¼ÛÇÏ·Á°í ÇÕ´Ï´Ù.

acceptChanges ¸Þ¼­µå°¡ Á¤»óÀûÀ¸·Î ½ÇÇàµÇ¾úÀ» °æ¿ì, µ¥ÀÌÅÍ ¼Ò½º¿¡ º¯°æÀÌ Ãâ·ÂÇØÁ® ÇöÀçÀÇ ÇàÀÇ °ªÀÌ ¿øÀÇ ÇàÀÇ °ªÀ¸·Î º¯°æµË´Ï´Ù.

»ç¿ëÇÏ´Â SyncProvider ±¸ÇöÀÇ µ¿±â ·¹º§¿¡ÀÇÇØ ¶óÀÌÅÍ´Â ¿øÀÇ °ª°ú µ¥ÀÌÅÍ ¼Ò½º³»ÀÇ °ªÀ» ºñ±³ÇØ, °æÇÕÀÇ Ã¼Å©¸¦ ½Ç½ÃÇÕ´Ï´Ù. °æÇÕÀÌ °ËÃâµÇ¾úÀ» °æ¿ì, ¿¹¸¦ µé¾î RIOptimisticProvider ±¸ÇöÀº, SyncProviderExceptionÀ» Throw ÇØ, µ¥ÀÌÅÍ ¼Ò½º¿¡´Â ¾Æ¹«°Íµµ Ãâ·ÂÇÏÁö ¾Ê½À´Ï´Ù.

¾îÇø®ÄÉÀ̼ÇÀº, SyncProviderException °´Ã¼¸¦ ijġ ÇØ, ÀÌ °´Ã¼¿¡ Æ÷ÇԵǴ SyncResolver °´Ã¼¸¦ ÃëµæÇÒ ¼ö ÀÖ½À´Ï´Ù . SyncResolver °´Ã¼´Â Çà ¸¶´Ù °æÇÕÀ» À϶÷ ÇØ, ÇöÀç Á¸ÀçÇÏ´Â °æÇÕÀ» ÇØ°áÇÒ ¶§±îÁö »õ·Î¿î °æÇÕÀÌ ¹ß»ýÇÏÁö ¾Ê°Ô, µ¥ÀÌÅÍ ¼Ò½º¸¦ Àá±Þ´Ï´Ù. °Ô´Ù°¡ °³°³ÀÇ °æÇÕ¿¡ ´ëÇؼ­ °æÇÕÀ» °Ë»çÇØ, µ¥ÀÌÅÍ ¼Ò½º¿¡ ³²±â´Â °ªÀ» ¼³Á¤ÇÏ´Â ¸Þ¼­µå¸¦ Á¦°øÇÕ´Ï´Ù. ¸ðµç °æÇÕÀÌ ÇØ°áµÇ¸é, ¾îÇø®ÄÉÀ̼ÇÀº ÀçÂ÷ acceptChanges ¸Þ¼­µå¸¦ È£ÃâÇØ, ÇØ°áµÈ °ªÀ» µ¥ÀÌÅÍ ¼Ò½º¿¡ Ãâ·ÂÇÒ ÇÊ¿ä°¡ ÀÖ½À´Ï´Ù. µ¥ÀÌÅÍ ¼Ò½º³»ÀÇ ¸ðµç °ªÀÌ ÀÌ¹Ì Áö¼ÓÄ¡ÀÎ °æ¿ì, acceptChanges ¸Þ¼­µå´Â ¾Æ¹«°Íµµ ½Ç½ÃÇÏÁö ¾Ê½À´Ï´Ù.

ÀϺÎÀÇ ÇÁ·Î¹ÙÀÌ´õ ±¸ÇöÀº °æÇÕÀ» ¸·±â À§Çؼ­ ¶ôÀ» »ç¿ëÇÕ´Ï´Ù. ÀÌ °æ¿ì acceptChanges ¸Þ¼­µå¸¦ È£ÃâÇßÀ» ¶§, Writer¿¡ ÇÑ µ¥ÀÌÅÍ ¼Ò½º¿¡ÀÇ º¯°æÀÇ Ãâ·ÂÀº ¹Ýµå½Ã ¼º°øÇÕ´Ï´Ù. ÀÌ ¸Þ¼­µå´Â updateRow ¸Þ¼­µå, insertRow ¸Þ¼­µå, ¶Ç´Â deleteRow ¸Þ¼­µåÀÇ È£Ãâ ÈÄ Áï½Ã È£ÃâÇÒ ¼ö ÀÖ½À´Ï´Ù¸¸, ¸ðµç º¯°æÀÌ ¿Ï·áÇØ, 1°³ ¸¸ Á¢¼ÓÀ» È®¸³Çϸé ÁÁÀº »óÅ·ΠȣÃâÇÏ´Â ÆíÀÌ È¿À²ÀûÀÔ´Ï´Ù.

ÁÖ: acceptChanges() ¸Þ¼­µå´Â COMMIT_ON_ACCEPT_CHANGES ÇÏÁö¸¸ true ·Î ¼³Á¤µÇ¾î ÀÖ´ÂÁö¸¦ È®ÀÎÇÕ´Ï´Ù. true (À¸)·Î ¼³Á¤µÇ¾î ÀÖ´Â °æ¿ì, µ¿±â³»ÀÇ ¸ðµç °»½ÅÀÌ µ¥ÀÌÅÍ ¼Ò½º¿¡ À§Å¹µË´Ï´Ù. ±× ¿ÜÀÇ °æ¿ì, ¾îÇø®ÄÉÀ̼ÇÀº, commit() ¸Þ¼­µå³ª rollback() ¸Þ¼­µå¸¦ ¸í½ÃÀûÀ¸·Î È£ÃâÇÒÇÊ¿ä°¡ ÀÖ½À´Ï´Ù.

¿¹¿Ü:
SQLException - Ä« ¼ÖÀÌ »ðÀÔÇà¿¡ ÀÖ´Â °æ¿ì
SyncProviderException - ¹è ¾Æ·¡ÀÇ µ¿±â ÇÁ·Î¹ÙÀÌ´õÀÇ ¶óÀÌÅÍ°¡ µ¥ÀÌÅÍ ¼Ò½º¿¡ÀÇ °»½ÅÀÇ Ãâ·ÂÀ» ½ÇÆÐÇßÀ» °æ¿ì
°ü·Ã Ç׸ñ:
acceptChanges(java.sql.Connection), RowSetWriter, SyncFactory, SyncProvider, SyncProviderException, SyncResolver

acceptChanges

void acceptChanges(Connection  con)
                   throws SyncProviderException 
ÁöÁ¤µÈ Connection°´Ã¼¸¦ »ç¿ëÇØ µ¥ÀÌÅÍ ¼Ò½º¿¡ÀÇ Á¢¼ÓÀ» È®¸³ÇØ, ¸ðµç ÇàÀÇ °»½ÅÀ» ¼Û½ÅÇØ, ÀÌ CachedRowSet°´Ã¼¿¡ µ¥ÀÌÅÍ ¼Ò½º¿¡ÀÇ º¯°æÀ» »ðÀÔÇϰųª »èÁ¦Çϰųª ÇÕ´Ï´Ù.

ÀÌÁ¦(ÀÌ¹Ì ) ÇÑÆíÀÇ acceptChanges ¸Þ¼­µå´Â RowSet °´Ã¼³»¿¡ ÀÌ¹Ì Á¤Àǵǰí ÀÖ´Â Connection °´Ã¼ (Ãʱ⠻ý¼º½Ã¿¡ »ç¿ëµÇ´Â Á¢¼Ó)¸¦ »ç¿ëÇϹǷΠÁ¢¼ÓÀ» °Ç³×¹ÞÁö ¾Ê½À´Ï´Ù.

ÀÌ Çü½ÄÀÇ acceptChanges ¸Þ¼­µå´Â Àμö¸¦ ÃëÇÏÁö ¾Ê´Â Çü½Ä°ú ÀÚÁÖ ´à½À´Ï´Ù¸¸, ºÎÇÏÀÇ µ¥ÀÌÅÍ ¼Ò½º°¡ JDBC µ¥ÀÌÅÍ ¼Ò½ºÀÎ °æ¿ì ¹Û¿¡ »ç¿ëÇÒ ¼ö ¾ø´Â Á¡À¸·Î½á, ±× ¿ÜÀÇ Çü½Ä°ú´Â ´Ù¸¨´Ï´Ù. SyncProvider´Â CachedRowSet °´Ã¼°¡ Á¤»óÀûÀ¸·Î µ¿±â µÇµµ·Ï, °»½ÅµÈ Connection ÇÁ·ÎÆÛƼ¸¦ »ç¿ëÇØ RowSetWriter ±¸¼ºÀ» ¸®¼Â ÇÒ ÇÊ¿ä°¡ ÀÖ½À´Ï´Ù.

acceptChanges ¸Þ¼­µå°¡ Á¤»óÀûÀ¸·Î ½ÇÇàµÇ¾úÀ» °æ¿ì, µ¥ÀÌÅÍ ¼Ò½º¿¡ º¯°æÀÌ Ãâ·ÂÇØÁ® ÇöÀçÀÇ ÇàÀÇ °ªÀÌ ¿øÀÇ ÇàÀÇ °ªÀ¸·Î º¯°æµË´Ï´Ù.

»ç¿ëÇÏ´Â SyncProvider ±¸ÇöÀÇ µ¿±â ·¹º§¿¡ÀÇÇØ ¶óÀÌÅÍ´Â ¿øÀÇ °ª°ú µ¥ÀÌÅÍ ¼Ò½º³»ÀÇ °ªÀ» ºñ±³ÇØ, °æÇÕÀÇ Ã¼Å©¸¦ ½Ç½ÃÇÕ´Ï´Ù. °æÇÕÀÌ °ËÃâµÇ¾úÀ» °æ¿ì, ¿¹¸¦ µé¾î RIOptimisticProvider ±¸ÇöÀº, SyncProviderExceptionÀ» Throw ÇØ, µ¥ÀÌÅÍ ¼Ò½º¿¡´Â ¾Æ¹«°Íµµ Ãâ·ÂÇÏÁö ¾Ê½À´Ï´Ù.

¾îÇø®ÄÉÀ̼ÇÀº, SyncProviderException °´Ã¼¸¦ ijġ ÇØ, ÀÌ °´Ã¼¿¡ Æ÷ÇԵǴ SyncResolver °´Ã¼¸¦ ÃëµæÇÒ ¼ö ÀÖ½À´Ï´Ù . SyncResolver °´Ã¼´Â Çà ¸¶´Ù °æÇÕÀ» À϶÷ ÇØ, ÇöÀç Á¸ÀçÇÏ´Â °æÇÕÀ» ÇØ°áÇÒ ¶§±îÁö »õ·Î¿î °æÇÕÀÌ ¹ß»ýÇÏÁö ¾Ê°Ô, µ¥ÀÌÅÍ ¼Ò½º¸¦ Àá±Þ´Ï´Ù. °Ô´Ù°¡ °³°³ÀÇ °æÇÕ¿¡ ´ëÇؼ­ °æÇÕÀ» °Ë»çÇØ, µ¥ÀÌÅÍ ¼Ò½º¿¡ ³²±â´Â °ªÀ» ¼³Á¤ÇÏ´Â ¸Þ¼­µå¸¦ Á¦°øÇÕ´Ï´Ù. ¸ðµç °æÇÕÀÌ ÇØ°áµÇ¸é, ¾îÇø®ÄÉÀ̼ÇÀº ÀçÂ÷ acceptChanges ¸Þ¼­µå¸¦ È£ÃâÇØ, ÇØ°áµÈ °ªÀ» µ¥ÀÌÅÍ ¼Ò½º¿¡ Ãâ·ÂÇÒ ÇÊ¿ä°¡ ÀÖ½À´Ï´Ù. µ¥ÀÌÅÍ ¼Ò½º³»ÀÇ ¸ðµç °ªÀÌ ÀÌ¹Ì Áö¼ÓÄ¡ÀÎ °æ¿ì, acceptChanges ¸Þ¼­µå´Â ¾Æ¹«°Íµµ ½Ç½ÃÇÏÁö ¾Ê½À´Ï´Ù.

ÀϺÎÀÇ ÇÁ·Î¹ÙÀÌ´õ ±¸ÇöÀº °æÇÕÀ» ¸·±â À§Çؼ­ ¶ôÀ» »ç¿ëÇÕ´Ï´Ù. ÀÌ °æ¿ì acceptChanges ¸Þ¼­µå¸¦ È£ÃâÇßÀ» ¶§, Writer¿¡ ÇÑ µ¥ÀÌÅÍ ¼Ò½º¿¡ÀÇ º¯°æÀÇ Ãâ·ÂÀº ¹Ýµå½Ã ¼º°øÇÕ´Ï´Ù. ÀÌ ¸Þ¼­µå´Â updateRow ¸Þ¼­µå, insertRow ¸Þ¼­µå, ¶Ç´Â deleteRow ¸Þ¼­µåÀÇ È£Ãâ ÈÄ Áï½Ã È£ÃâÇÒ ¼ö ÀÖ½À´Ï´Ù¸¸, ¸ðµç º¯°æÀÌ ¿Ï·áÇØ, 1°³ ¸¸ Á¢¼ÓÀ» È®¸³Çϸé ÁÁÀº »óÅ·ΠȣÃâÇÏ´Â ÆíÀÌ È¿À²ÀûÀÔ´Ï´Ù.

ÁÖ: acceptChanges() ¸Þ¼­µå´Â COMMIT_ON_ACCEPT_CHANGES ÇÏÁö¸¸ true ·Î ¼³Á¤µÇ¾î ÀÖ´ÂÁö¸¦ ÆÇ´ÜÇÕ´Ï´Ù. true (À¸)·Î ¼³Á¤µÇ¾î ÀÖ´Â °æ¿ì, µ¿±â³»ÀÇ ¸ðµç °»½ÅÀÌ µ¥ÀÌÅÍ ¼Ò½º¿¡ À§Å¹µË´Ï´Ù. falseÀÎ °æ¿ì, ¾îÇø®ÄÉÀ̼ÇÀº, commit ¸Þ¼­µå³ª rollback ¸Þ¼­µå¸¦ ¸í½ÃÀûÀ¸·Î È£ÃâÇÒÇÊ¿ä°¡ ÀÖ½À´Ï´Ù.

ÆĶó¹ÌÅÍ:
con - Ç¥ÁØ JDBC Connection °´Ã¼
¿¹¿Ü:
SQLException - Ä« ¼ÖÀÌ »ðÀÔÇà¿¡ ÀÖ´Â °æ¿ì
SyncProviderException - ¹è ¾Æ·¡ÀÇ µ¿±â ÇÁ·Î¹ÙÀÌ´õÀÇ ¶óÀÌÅÍ°¡ µ¥ÀÌÅÍ ¼Ò½º¿¡ÀÇ °»½ÅÀÇ Ãâ·ÂÀ» ½ÇÆÐÇßÀ» °æ¿ì
°ü·Ã Ç׸ñ:
acceptChanges(), RowSetWriter, SyncFactory, SyncProvider, SyncProviderException, SyncResolver

restoreOriginal

void restoreOriginal()
                     throws SQLException 
ÀÌ CachedRowSet°´Ã¼¸¦ ¿øÀÇ °ª (ÀüȸÀÇ º¯°æ ¼¼Æ®ÀÇ ÀüÀÇ °ª)¿¡ µÇµ¹¸³´Ï´Ù. Çà ¼¼Æ®°¡ º¯°æµÇ¾î ÀÖÁö ¾ÊÀº °æ¿ì³ª, º¯°æ ¼¼Æ®°¡ 1°³ ¹Û¿¡ ¾ø´Â °æ¿ì´Â ÀÌ CachedRowSet¿Àºê Á§Æ®¿¡ ÀÐÈù °ªÀÌ ¿øÀÇ °ªÀÌ µË´Ï´Ù. ±× ¿ÜÀÇ °æ¿ì´Â ÇöÀçÀÇ °ªÀÇ Á÷ÀüÀ¸·Î ¼³Á¤µÇ¾î ÀÖ´ø °ªÀÌ ¿øÀÇ °ªÀÌ µË´Ï´Ù.

ÀÌ ¸Þ¼­µå°¡ ºÒ·Á °¬À» °æ¿ì, CachedRowSet ±¸ÇöÀº ÇöÀçÀÇ Çà ¼¼Æ® ÀνºÅϽº¿¡ÀÇ ¸ðµç °»½Å, »ðÀÔ ¹× »èÁ¦¸¦ ÀÌÀüÀÇ °ªÀ¸·Î ¿Å°Ü³õÀ» ÇÊ¿ä°¡ ÀÖ½À´Ï´Ù. °Ô´Ù°¡ Ä¿¼­¸¦ ÃÖÃÊÀÇ Çà¿¡ µÇµ¹·Á, rowSetChangedÀ̺¥Æ®¸¦ Æ®¸®°ÅÇØ, µî·ÏÀ» ¸¶Ä£ ¸ðµç ¸®½º³Ê¿¡°Ô ÅëÁö¸¦ º¸³¾ ÇÊ¿ä°¡ ÀÖ½À´Ï´Ù.

¿¹¿Ü:
SQLException -¿Í ÀÇ CachedRowSet °´Ã¼ÀÇ ÇöÀçÀÇ °ªÀ» ÀÌÀüÀÇ °ª¿¡ µÇµ¹¸®°í ÀÖ´Â µ¿¾È¿¡ ¿¡·¯°¡ ¹ß»ýÇßÀ» °æ¿ì
°ü·Ã Ç׸ñ:
RowSetListener.rowSetChanged(javax.sql.RowSetEvent)

release

void release()
             throws SQLException 
ÀÌ CachedRowSet°´Ã¼ÀÇ ÇöÀçÀÇ ÄÁÅÙÃ÷¸¦ ÇعæÇØ, µî·ÏÀ» ¸¶Ä£ ¸ðµç ¸®½º³Ê¿¡°Ô rowSetChangedÀÌ °ÜÀÌ»è¶ì¸¦ ¼Û½ÅÇÕ´Ï´Ù. ÀÌ ¸Þ¼­µå¸¦ È£ÃâÇϸé, ¾ÆÁ÷ Àû¿ëµÇÁö ¾ÊÀº °»½ÅÀº ¸ðµÎ ÆıâµÇ¾î Çà ¼¼Æ®ÀÇ ÇàÀÌ ¸ðµÎ »èÁ¦µË´Ï´Ù. ºÎÇÏÀÇ µ¥ÀÌÅÍ ¼Ò½º¿ÍÀÇ ´ëÈ­´Â ÇàÇØÁöÁö ¾Ê±â ¶§¹®¿¡ Çà ¼¼Æ®ÀÇ ÄÁÅÙÃ÷, ¸ÞŸµ¥ÀÌŸ, ÄÁÅÙÃ÷ÀÇ °»½ÅÀ» º¹¿øÇÒ ¼ö ¾ø½À´Ï´Ù.

ÀÌ CachedRowSet °´Ã¼´Â ÄÁÅÙÃ÷¿Í ±× °»½ÅÀÌ ¿ÏÀüÇÏ°Ô ¼Ò°ÅµÉ ¶§±îÁö ¶ô µË´Ï´Ù. µû¶ó¼­, ÀÌ RowSet °´Ã¼¿¡ÀÇ ÂüÁ¶¸¦ Æ÷ÇÔÇÏ´Â ±× ¿ÜÀÇ ÄÄÆÛ³ÍÆ®¿¡ ÇÑ ´õƼ µ¶ÇØ´Â ¹ß»ýÇÏÁö ¾Ê½À´Ï´Ù. ¶Ç, ÀÌ CachedRowSet °´Ã¼¸¦ Àо´Â ¸ðµç ÄÄÆÛ³ÍÆ®°¡ µ¶Çظ¦ ¿Ï·áÇÒ ¶§±îÁö, ÄÁÅÙÃ÷¸¦ ÇعæÇÒ ¼ö ¾ø½À´Ï´Ù. ÀÌ CachedRowSet °´Ã¼ÀÇ µ¿ÀÛÀº, rowSetChanged À̺¥Æ®°¡ Æ®¸®°ÅµÈµÚ Á¤»óÀûÀÎ »óÅ¿¡ µ¹¾Æ¿É´Ï´Ù.

JDBC ÇÁ·ÎÆÛƼ¿Í Synchronization SPI ÇÁ·ÎÆÛƼ¸¦ Æ÷ÇÔÇÑ ¸ÞŸµ¥ÀÌŸ´Â Àå·¡ »ç¿ëÇϱâ À§Çؼ­ º¸°ü À¯ÁöµË´Ï´Ù. command ÇÁ·ÎÆÛƼµîÀÇ ÇÁ·ÎÆÛƼ´Â ÀÌ CachedRowSet °´Ã¼ÀÇ »ý¼º¿øÀÇ µ¥ÀÌÅÍ ¼Ò½º¿¡ °ü·ÃÁöÀ» ÇÊ¿ä°¡ ÀÖ½À´Ï´Ù.

close ¸Þ¼­µå´Â ¸ðµç Çà ¼¼Æ®¸¦ º¹¿ø °¡´ÉÀ¸·Î ÇØ, °¡ºñÁö Ä÷ºÅÍ¿¡ Çà ¼¼Æ®ÀÇ Java VM ÀÚ¿øÀ» Çã¿ëÇÕ´Ï´Ù¸¸, ÀÌ ¸Þ¼­µå´Â Çà ¼¼Æ®¸¦ ºñ¿ó´Ï´Ù.

¿¹¿Ü:
SQLException -¿Í ÀÇ CachedRowSet °´Ã¼ÀÇ ÄÁÅÙÃ÷ÀÇ Ç÷¡½Ã½Ã¿¡ ¿¡·¯°¡ ¹ß»ýÇßÀ» °æ¿ì
°ü·Ã Ç׸ñ:
RowSetListener.rowSetChanged(javax.sql.RowSetEvent), ResultSet.close()

undoDelete

void undoDelete()
                throws SQLException 
ÇöÀçÀÇ ÇàÀÇ »èÁ¦¸¦ Ãë¼ÒÇØ, ¸®½º³Ê·Î ÇàÀÌ º¯°æµÈ °ÍÀ» ÅëÁöÇÕ´Ï´Ù. ÀÌ ¸Þ¼­µå¸¦ È£ÃâÇÑµÚ ÇöÀçÀÇ ÇàÀº »èÁ¦ÀÇ ´ë»óÀ¸·ÎºÎÅÍ Á¦¿ÜµË´Ï´Ù. ÀÌ ¸Þ ¼Úµå´Â Çà ¼¼Æ®ÀÇ ¼ö¸íÀÇ »çÀÌ ¾ðÁ¦¶óµµ È£ÃâÇÒ ¼ö ÀÖ½À´Ï´Ù .

°Ô´Ù°¡ º¹¼öÀÇ ÇàÀÇ »èÁ¦¸¦ Ãë¼ÒÇÒ ¼öµµ ÀÖ½À´Ï´Ù. ÀÌ °æ¿ì´Â ´ÙÀ½°ú °°Àº Ä¿¼­ À§Ä¡ Á¦¾î ¸Þ¼­µå¸¦ »ç¿ëÇØ, Ä¿¼­ÀÇ À§Ä¡¸¦ Á¶Á¤ÇÕ´Ï´Ù.

¿¹¿Ü:
SQLException - (1) ÇöÀçÀÇ ÇàÀÌ »èÁ¦µÇ¾î ÀÖÁö ¾ÊÀº °æ¿ì, (2) Ä¿¼­°¡ »ðÀÔÇà, ÃÖÃÊÀÇ ÇàÀÇ Àü, ¶Ç´Â ¸Ç ¸¶Áö¸· ÁÙÀÇ µÚ¿¡ ÀÖ´Â °æ¿ì
°ü·Ã Ç׸ñ:
undoInsert(), ResultSet.cancelRowUpdates()

undoInsert

void undoInsert()
                throws SQLException 
¸¸¾à ÇàÀÌ »ðÀÔµÈ »óÅÂÀ̸é, ÇöÀçÀÇ ÇàÀ» »èÁ¦ÇØ, ¸®½º³Ê·Î ÇàÀÌ º¯°æµÈ °ÍÀ» ÅëÁöÇÕ´Ï´Ù. ÀÌ ¸Þ¼­µå´Â Çà ¼¼Æ®ÀÇ ¼ö¸íÀÇ »çÀÌ ¾ðÁ¦¶óµµ ºÒ·¯ Ãâ. ÇöÀçÀÇ ÇàÀÌ ¿¹¿Ü Á¦ÇÑ (¾Æ·¡¿Í °°ÀÌ ÂüÁ¶) ³»¿¡ ÀÖ´Â °æ¿ì, ÇöÀçÀÇ ÇàÀÇ »ðÀÔÀ» Ãë¼ÒÇÕ´Ï´Ù.

°Ô´Ù°¡ º¹¼öÀÇ ÇàÀÇ »ðÀÔÀ» Ãë¼ÒÇÒ ¼öµµ ÀÖ½À´Ï´Ù. ÀÌ °æ¿ì´Â ´ÙÀ½°ú °°Àº Ä¿¼­ À§Ä¡ Á¦¾î ¸Þ¼­µå¸¦ »ç¿ëÇØ, Ä¿¼­ÀÇ À§Ä¡¸¦ Á¶Á¤ÇÕ´Ï´Ù.

¿¹¿Ü:
SQLException - (1) ÇöÀçÀÇ ÇàÀÌ »ðÀԵǾî ÀÖÁö ¾ÊÀº °æ¿ì, (2) Ä¿¼­°¡ ÃÖÃÊÀÇ ÇàÀÇ Àü, ¸Ç ¸¶Áö¸· ÁÙÀÇµÚ ¶Ç´Â »ðÀÔÇà¿¡ ÀÖ´Â °æ¿ì
°ü·Ã Ç׸ñ:
undoDelete(), ResultSet.cancelRowUpdates()

undoUpdate

void undoUpdate()
                throws SQLException 
¸¸¾à ÇàÀÌ º¯°æµÇ°í ÀÖÀ¸¸é, ÀüȸÀÇ °»½Å Á¶ÀÛÀ» ¹ÙÅÁÀ¸·Î µÇµ¹¸³´Ï´Ù. ÀÌ ¸Þ¼­µå´Â ÃÖÁ¾ÀûÀ¸·Î ÀºÇà³»ÀÇ ¸ðµç °»½ÅÀÌ ÀüȸÀÇ µ¿±âÈ­ (acceptChanges) ¶Ç´Â »ý¼ºÀÇ Á÷Àü »óÅ¿¡ µ¹¾Æ¿Àµµ·Ï, ¸ðµç ¿­ÀÇ °»½ÅÀ» ¹ÙÅÁÀ¸·Î µÇµ¹¸³´Ï´Ù. ÀÌ ¸Þ¼­µå´Â »ðÀÔÇàÀÇ °»½ÅÁß¿¡µµ È£ÃâÇÒ ¼ö ÀÖ½À´Ï´Ù .

undoUpdate

¿¹¿Ü:
SQLException - Ä¿¼­°¡ ÀÌ CachedRowSet °´Ã¼ÀÇ ÃÖÃÊÀÇ ÇàÀÇ Àü ¶Ç´Â ¸¶Áö¸· ÇàÀÇ µÚ¿¡ ÀÖ´Â °æ¿ì
°ü·Ã Ç׸ñ:
undoDelete(), undoInsert(), ResultSet.cancelRowUpdates()

columnUpdated

boolean columnUpdated(int idx)
                      throws SQLException 
ÀÌ CachedRowSet°´Ã¼ÀÇ ÇöÀçÀÇ ÀºÇà³»ÀÇ ÁöÁ¤µÈ ¿­ÀÌ °»½ÅµÇ¾ú´ÂÁö ¾î¶°Çß´ÂÁö¸¦ ³ªÅ¸³À´Ï´Ù.

ÆĶó¹ÌÅÍ:
idx - °»½ÅÀÇ Ã¼ Äí¸¦ ½Ç½ÃÇÏ´Â ¿­À» ³ªÅ¸³»´Â int
¹Ýȯ°ª:
ÁöÁ¤µÈ ¿­ÀÌ ¾ÆÅ°¶óµî °Ô°»½ÅµÇ°í ÀÖ´Â °æ¿ì´Â true, ±×·¸Áö ¾ÊÀº °æ¿ì´Â false
¿¹¿Ü:
SQLException - Ä« ¼ÖÀÌ »ðÀÔÇà, ÃÖÃÊÀÇ ÇàÀÇ Àü, ¶Ç´Â ¸Ç ¸¶Áö¸· ÁÙÀÇ µÚ¿¡ ÀÖ´Â °æ¿ì
°ü·Ã Ç׸ñ:
DatabaseMetaData.updatesAreDetected(int)

columnUpdated

boolean columnUpdated(String  columnName)
                      throws SQLException 
ÀÌ CachedRowSet°´Ã¼ÀÇ ÇöÀçÀÇ ÀºÇà³»ÀÇ ÁöÁ¤µÈ ¿­ÀÌ °»½ÅµÇ¾ú´ÂÁö ¾î¶°Çß´ÂÁö¸¦ ³ªÅ¸³À´Ï´Ù.

ÆĶó¹ÌÅÍ:
columnName - °» ½ÅÀÇ Ã¼Å©¸¦ ½Ç½ÃÇÏ´Â ¿­ÀÇ À̸§À» ÁöÁ¤ÇÏ´Â String °´Ã¼
¹Ýȯ°ª:
¿­ÀÌ ºÐ¸íÇÏ°Ô °»½ÅÇÔ ¶ó°í ÀÖ´Â °æ¿ì´Â true, ±×·¸Áö ¾ÊÀº °æ¿ì´Â false
¿¹¿Ü:
SQLException - Ä« ¼ÖÀÌ »ðÀÔÇà, ÃÖÃÊÀÇ ÇàÀÇ Àü, ¶Ç´Â ¸Ç ¸¶Áö¸· ÁÙÀÇ µÚ¿¡ ÀÖ´Â °æ¿ì
°ü·Ã Ç׸ñ:
DatabaseMetaData.updatesAreDetected(int)

toCollection

Collection <? > toCollection()
                           throws SQLException 
ÀÌ CachedRowSet°´Ã¼¸¦, ÀÌ CachedRowSet°´Ã¼ ÀÇ ¸ðµç µ¥ÀÌÅ͸¦ Æ÷ÇÔÇÏ´Â Collection°´Ã¼·Î º¯È¯ÇÕ´Ï´Ù. CollectionÈÄ ·¹ÀÓ¿öÅ©ÀÇ Ã߻󼺿¡ÀÇÇØ ±¸ÇöÀº ÀÌ Collection°´Ã¼¸¦ ¾î´À Á¤µµ ÀÚÀ¯·Ó°Ô Ç¥ÇöÇÒ ¼ö ÀÖ½À´Ï´Ù . °¢ ÇàÀº ¹ü¿ëÀûÀÎ Collection±¸ÇöÀΰ¡ ¶Ç´Â TreeMap°´Ã¼³ª Vector¿À ºêÁ¦Å©Æ®µîÀÌ Æ¯¼öÇÑ Collection±¸ÇöÀÇ ¾î´À ÂÊÀÎÁö·Î ¿ÏÀüÇÏ°Ô Ç¥ÇöÇÒ ÇÊ¿ä°¡ ÀÖ½À´Ï´Ù. SQL NULL¿­ °ªÀº Java ÇÁ·Î±×·¥ ¾ð¾î·Î null·Î¼­ Ç¥ÇöÇÒ ÇÊ¿ä°¡ ÀÖ½À´Ï´Ù.

CachedRowSetÀÎÅÍÆäÀ̽ºÀÇ Ç¥ÁØÀûÀÎ ·¹ÆÛ·±½º ±¸Çö¿¡¼­´Â Çà ¼¼Æ®¿¡ TreeMap °´Ã¼¸¦ »ç¿ëÇØ, °¢ ÇàÀÇ °ªÀ» Vector °´Ã¼¿¡ Æ÷ÇÔÇÕ´Ï´Ù. ´ëºÎºÐÀÇ ±¸ÇöÀ¸·Î¿Í °°ÀÌ Ã³¸®ÇÏ´Â °ÍÀÌ »óÁ¤µË´Ï´Ù.

TreeMap ÇüÅÂÀÇ Ä÷º¼Ç¿¡ÀÇÇØ Å°ÀÇ Å¬·¡½ºÀÇ º»·¡ÀÇ ¼ø¼­¿¡ µû¶ó, ¸ÊÀÌ ½Â¼øÀ¸·Î ¼ÒÆ® µË´Ï´Ù. °¢ Å°´Â RowSet °´Ã¼ÀÇ 1 Çà¿¡ ´ëÀÀÇÏ´Â Vector °´Ã¼¸¦ ÂüÁ¶ÇÕ´Ï´Ù. µû¶ó¼­, °¢ Vector °´Ã¼ÀÇ »çÀÌÁî´Â RowSet °´Ã¼³»ÀÇ ·Ä¼ö¿¡ Á¤È®ÇÏ°Ô ÀÏÄ¡ÇÒ ÇÊ¿ä°¡ ÀÖ½À´Ï´Ù. TreeMap Ä÷º¼ÇÀ¸·Î »ç¿ëÇÏ´Â Å°´Â ±¸Çö ¸¶´Ù °áÁ¤ÇÕ´Ï´Ù. ±¸Çö¿¡¼­´Â RowSet °´Ã¼ ÀÚü, ¶Ç´Â ºÎÇÏÀÇ SQL µ¥ÀÌÅÍ¿¡ ÀÌ¹Ì ¼³Á¤µÇ¾î ÀÖ´Â Å°¿¡ÀÇÇØ ³»ºÎÀÇ RowSet °Ñ(Ç¥) ±¸Á¶³»ÀÇ »ç¿ë °¡´ÉÇÑ ¼¼Æ® Å°¸¦ ÀÌ¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù .

¹Ýȯ°ª:
ÀÌ CachedRowSet °´Ã¼ÀÇ °¢ ÇàÀÇ °ªÀ» Æ÷ÇÔÇÏ´Â Collection °´Ã¼
¿¹¿Ü:
SQLException - ÄÚ ·¹Å©¼ÇÀÇ »ý¼º½Ã¿¡ ¿¡·¯°¡ ¹ß»ýÇßÀ» °æ¿ì
°ü·Ã Ç׸ñ:
toCollection(int), toCollection(String)

toCollection

Collection <? > toCollection(int column)
                           throws SQLException 
ÀÌ CachedRowSet°´Ã¼³»ÀÇ ÁöÁ¤µÈ ¿­À» Collection¿Àºê Á§Æ®·Î º¯È¯ÇÕ´Ï´Ù. CollectionüÁ¦ÀÇ Ã߻󼺿¡ÀÇÇØ ±¸ÇöÀº ÀÌ Collection¿À ºêÁ¦Å©Æ®¸¦ ¾î´À Á¤µµ ÀÚÀ¯·Ó°Ô Ç¥ÇöÇÒ ¼ö ÀÖ½À´Ï´Ù . °¢ ·ÄÄ¡´Â ¹ü¿ëÀûÀÎ Collection±¸ÇöÀΰ¡ ¶Ç´Â Vector¿À ºêÁ¦Å©Æ®µîÀÌ Æ¯¼öÇÑ Collection±¸ÇöÀÇ ¾î´À ÂÊÀÎÁö·Î ¿ÏÀüÇÏ°Ô Ç¥ÇöÇÒ ÇÊ¿ä°¡ ÀÖ½À´Ï´Ù. SQL NULL¿­ °ªÀº Java ÇÁ·Î±×·¥ ¾ð¾î·Î null·Î¼­ Ç¥ÇöÇÒ ÇÊ¿ä°¡ ÀÖ½À´Ï´Ù.

Ç¥ÁØÀûÀÎ ·¹ÆÛ·±½º ±¸Çö¿¡¼­´Â Vector °´Ã¼¸¦ »ç¿ëÇØ, ·ÄÄ¡¸¦ Æ÷ÇÔÇÕ´Ï´Ù¸¸, ´ëºÎºÐÀÇ ±¸ÇöÀ¸·Î¿Í °°ÀÌ Ã³¸®ÇÏ´Â °ÍÀÌ »óÁ¤µË´Ï´Ù. Vector °´Ã¼¸¦ »ç¿ëÇÏ´Â °æ¿ì´Â »çÀÌÁ ÀÌ CachedRowSet °´Ã¼ÀÇ Çà¼ö¿Í Á¤È®ÇÏ°Ô ÀÏÄ¡½Ãų ÇÊ¿ä°¡ ÀÖ½À´Ï´Ù.

ÆĶó¹ÌÅÍ:
column - Ä¡¸¦ Collection °´Ã¼·Î Ç¥ÇöÇÏ´Â ¿­À» ³ªÅ¸³»´Â int
¹Ýȯ°ª:
ÀÌ CachedRowSet °´Ã¼ÀÇ ÁöÁ¤µÈ ¿­¿¡ Æ÷ÇÔµÈ °ªÀ» Æ÷ÇÔÇÑ Collection °´Ã¼
¿¹¿Ü:
SQLException - ÄÚ ·¹Å©¼ÇÀÇ »ý¼º½Ã¿¡ ¿¡·¯°¡ ¹ß»ýÇßÀ» °æ¿ì, ¶Ç´Â ¹«È¿ÀÎ ¿­ ID°¡ Á¦°øµÇ¾úÀ» °æ¿ì
°ü·Ã Ç׸ñ:
toCollection(), toCollection(String)

toCollection

Collection <? > toCollection(String  column)
                           throws SQLException 

ÀÌ CachedRowSet °´Ã¼³»ÀÇ ÁöÁ¤µÈ ¿­À» Collection °´Ã¼·Î º¯È¯ÇÕ´Ï´Ù. Collection üÁ¦ÀÇ Ã߻󼺿¡ÀÇÇØ ±¸ÇöÀº ÀÌ Collection °´Ã¼¸¦ ¾î´À Á¤µµ ÀÚÀ¯·Ó°Ô Ç¥ÇöÇÒ ¼ö ÀÖ½À´Ï´Ù . °¢ ·ÄÄ¡´Â ¹ü¿ëÀûÀÎ Collection ±¸ÇöÀΰ¡ ¶Ç´Â Vector °´Ã¼µîÀÌ Æ¯¼öÇÑ Collection ±¸ÇöÀÇ ¾î´À ÂÊÀÎÁö·Î ¿ÏÀüÇÏ°Ô Ç¥ÇöÇÒ ÇÊ¿ä°¡ ÀÖ½À´Ï´Ù. SQL NULL ·ÄÄ¡´Â Java ÇÁ·Î±×·¥ ¾ð¾î·Î null·Î ¼­ Ç¥ÇöÇÒ ÇÊ¿ä°¡ ÀÖ½À´Ï´Ù.

Ç¥ÁØÀûÀÎ ·¹ÆÛ·±½º ±¸Çö¿¡¼­´Â Vector °´Ã¼¸¦ »ç¿ëÇØ, ·ÄÄ¡¸¦ Æ÷ÇÔÇÕ´Ï´Ù¸¸, ´ëºÎºÐÀÇ ±¸ÇöÀ¸·Î¿Í °°ÀÌ Ã³¸®ÇÏ´Â °ÍÀÌ »óÁ¤µË´Ï´Ù. Vector °´Ã¼¸¦ »ç¿ëÇÏ´Â °æ¿ì´Â »çÀÌÁ ÀÌ CachedRowSet °´Ã¼ÀÇ Çà¼ö¿Í Á¤È®ÇÏ°Ô ÀÏÄ¡½Ãų ÇÊ¿ä°¡ ÀÖ½À´Ï´Ù.

ÆĶó¹ÌÅÍ:
column - ÄÚ·¹Å© ¼ðÀ¸·Î Ç¥ÇöµÇ´Â °ªÀ» °¡Áö´Â ¿­ÀÇ À̸§À» ÁöÁ¤ÇÏ´Â String °´Ã¼
¹Ýȯ°ª:
ÀÌ CachedRowSet °´Ã¼ÀÇ ÁöÁ¤µÈ ¿­¿¡ Æ÷ÇÔµÈ °ªÀ» Æ÷ÇÔÇÑ Collection °´Ã¼
¿¹¿Ü:
SQLException - ÄÚ ·¹Å©¼ÇÀÇ »ý¼º½Ã¿¡ ¿¡·¯°¡ ¹ß»ýÇßÀ» °æ¿ì, ¶Ç´Â ¹«È¿ÀÎ ¿­ ID°¡ Á¦°øµÇ¾úÀ» °æ¿ì
°ü·Ã Ç׸ñ:
toCollection(), toCollection(int)

getSyncProvider

SyncProvider  getSyncProvider()
                             throws SQLException 
ÀÌ CachedRowSet°´Ã¼ÀÇ SyncProvider±¸ÇöÀ» ÃëµæÇÕ´Ï´Ù. Çà ¼¼Æ®´Â ÀÌ ¸Þ¼­µå¸¦ ³»ºÎ¿¡¼­ »ç¿ëÇØ, Çà ¼¼Æ®¿Í µ¥ÀÌÅÍ ¼Ò½º°£ÀÇ Àо ¶Ç´Â Ãâ·ÂÁ¶ÀÛÀ» Æ®¸®°ÅÇÕ´Ï´Ù. ¿¹¸¦ µé¾î Çà ¼¼Æ®´Â µ¥ÀÌÅ͸¦ °Ý ³³ Çϱâ À§ÇÑ, SyncProvider·ÎºÎÅÍ Çà ¼¼Æ® ¸®´õ (RowSetReader¿ÀºêÁ¦Å© Æ®)ÀÇ ÇÚµéÀ» ÃëµæÇØ¾ß ÇÏ´Â °æ¿ì°¡ ÀÖ½À´Ï´Ù.
     RowSetReader rowsetReader = null;
SyncProvider provider =
SyncFactory.getInstance("javax.sql.rowset.provider.RIOptimisticProvider");
if (provider instanceof RIOptimisticProvider) {
rowsetReader = provider.getRowSetReader();
}
rowsetReader°¡ Çà ¼¼Æ® ±¸Çö³»ÀÇ private ÀÎ ¾×¼¼½º °¡´É ÇʵåÀÌ´Ù°í Çϸé, ¾îÇø®ÄÉÀ̼ÇÀÌ execute¸Þ ¼Úµå¸¦ È£ÃâÇϸé, ÀÌ ¸Þ¼­µå´Â ¸®´õÀÇ readData¸Þ¼­µå¸¦ È£ÃâÇØ, RowSet¿À ºêÁ¦Å©Æ®¿¡ µ¥ÀÌÅ͸¦ Æ÷ÇÔÇÕ´Ï´Ù.
     rowsetReader.readData((RowSetInternal) this);

°Ô´Ù°¡ ¾îÇø®ÄÉÀ̼ÇÀº ÀÌ ¸Þ¼­µå·ÎºÎÅÍ ¸®ÅÏµÈ SyncProvider °´Ã¼¸¦ »ç¿ëÇØ, º¥´õ, ¹öÀü, ÇÁ·Î¹ÙÀÌ´õ ID, µ¿±âÀÇ ±×·¹À̵å, ÇöÀç ¼³Á¤µÇ¾î ÀÖ´Â ¶ôµîÀÇ SyncProvider °´Ã¼¿¡ °üÇÑ Á¤º¸¸¦ µ¹·ÁÁÖ´Â ¸Þ¼­µå¸¦ È£ÃâÇÒ ¼ö ÀÖ½À´Ï´Ù .

¹Ýȯ°ª:
Çà ¼¼Æ®°¡ ÀνºÅ¸ ½ºÈ­ µÇ¾úÀ» ¶§¿¡ ¼³Á¤µÈ SyncProvider °´Ã¼, ¶Ç´Â ¼³Á¤µÇ¾î ÀÖÁö ¾ÊÀº °æ¿ì´Â µðÆúÆ®ÀÇ ÇÁ·Î¹ÙÀÌ´õ
¿¹¿Ü:
SQLException - SyncProvider °´Ã¼¸¦ µ¹·ÁÁÙ ¶§ ¿¡·¯°¡ ¹ß»ýÇßÀ» °æ¿ì
°ü·Ã Ç׸ñ:
setSyncProvider(java.lang.String)

setSyncProvider

void setSyncProvider(String  provider)
                     throws SQLException 
ÀÌ CachedRowSet°´Ã¼ÀÇ SyncProvider°´Ã¼·Î ÁöÁ¤ ÇÑ °´Ã¼¸¦ ¼³Á¤ÇÕ´Ï´Ù. ÀÌ ¸Þ¼­µå·ÎSyncProvider°´Ã¼¸¦ ¸®¼Â ÇÒ ¼ö ÀÖ½À´Ï´Ù.

CachedRowSet ±¸ÇöÀº Ç×»ó ÀÌ¿ë °¡´ÉÇÑ SyncProvider µµ±¸ ·Î ÀνºÅϽºÈ­ÇÒ ÇÊ¿ä°¡ ÀÖ½À´Ï´Ù¸¸, SyncProvider °´Ã¼ÀÇ ¸®¼Â°¡ ¹Ù¶÷Á÷ÇÑ, ¶Ç´Â ÇÊ¿äÇÏ°Ô µÇ´Â °æ¿ìµµ ÀÖ½À´Ï´Ù. ¿¹¸¦ µé¾î ¾îÇø®ÄÉÀ̼ÇÀ¸·Î ´çºÐ°£Àº µðÆúÆ®ÀÇ SyncProvider °´Ã¼¸¦ »ç¿ëÇØ µÎ¾î, ³ªÁß¿¡ ÃÖ±Ù ÀÌ¿ëÇÒ ¼ö ÀÖ°Ô µÈ, º¸´Ù ÇÊ¿äÇÏ°Ô ÀÌ·ç¾îÁö´Â ÇÁ·Î¹ÙÀÌ´õ¸¦ ¼±ÅÃÇØ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù .

SyncProvider °´Ã¼¸¦ ¸®¼Â Çϸé, RowSet °´Ã¼´Â SyncFactory·Î ºÎÅÍ »õ·Î¿î SyncProvider ±¸ÇöÀ» ¿ä±¸ÇÕ´Ï´Ù. ÀÌ°Í¿¡ ÀÇÇØ ÀÌÀüÀÇ ¸ðµç Á¢¼Ó°ú ¿øÀÇ µ¥ÀÌÅÍ ¼Ò½º¿ÍÀÇ °ü°è¸¦ ¸®¼Â ÇØ, ¹ÌÁ¢¼ÓÀÇ Çà ¼¼Æ®ÀÇ µ¿±â µ¿ÀÛÀ» Å«ÆøÀ¸·Î º¯°æÀÏ??.

ÆĶó¹ÌÅÍ:
provider - SyncProvider ±¸ÇöÀÇ ¿ÏÀü ¼ö½Ä Ŭ·¡½º¸íÀ» ÁöÁ¤ÇÏ´Â String °´Ã¼
¿¹¿Ü:
SQLException - SyncProvider ±¸ÇöÀÇ ¸®¼ÂÁß¿¡ ¿¡·¯°¡ ¹ß»ýÇßÀ» °æ¿ì
°ü·Ã Ç׸ñ:
getSyncProvider()

size

int size()
ÀÌ CachedRowSet°´Ã¼³»ÀÇ Çà¼ö¸¦ ¸®ÅÏÇÕ´Ï´Ù.

¹Ýȯ°ª:
Çà ¼¼Æ®³»ÀÇ Çà¼ö

setMetaData

void setMetaData(RowSetMetaData  md)
                 throws SQLException 
ÁöÁ¤µÈ RowSetMetaData°´Ã¼¸¦ »ç¿ëÇØ, CachedRowSet¿Àºê Á§Æ®ÀÇ ¸ÞŸµ¥ÀÌŸ¸¦ ¼³Á¤ÇÕ´Ï´Ù. RowSetReader°´Ã¼´Â Çà ¼¼Æ®ÀÇ ÄÁÅÙÃ÷¸¦ Àо ¶§¿¡ RowSetMetaData¿À ºêÁ¦Å©Æ®¸¦ »ý¼ºÇØ, RowSetMetaData±¸Çö³»ÀÇ ¸Þ¼­µå¸¦ »ç¿ëÇØ ÀÌ°ÍÀ» ÃʱâÈ­ÇÕ´Ï´Ù. ·¹ÆÛ·±½º ±¸Çö¿¡¼­´Â RowSetMetaDataImplÄí ¶ó½º¸¦ »ç¿ëÇÕ´Ï´Ù. ¸®´õ°¡ Çà ¼¼Æ®ÀÇ ÄÁÅÙÃ÷ÀÇ µ¶Çظ¦ ¿Ï·áÇϸé, ÀÌ ¸Þ¼­µå°¡ ³»ºÎ¿¡¼­ ºÒ·Á°¡ RowSetMetaData¿À ºêÁ¦Å©Æ®°¡ Çà ¼¼Æ®¿¡°Ô °Ç³×Áý´Ï´Ù.

ÆĶó¹ÌÅÍ:
md - ÀÌ CachedRowSet °´Ã¼ÀÇ ¿­¿¡ °üÇÑ ¸ÞŸµ¥ÀÌŸ¸¦ Æ÷ÇÔÇÏ´Â RowSetMetaData °´Ã¼
¿¹¿Ü:
SQLException - Çà ¼¼Æ®¿¡ ¹«È¿ÀÎ ¸ÞŸµ¥ÀÌŸ°¡ Á¦°øµÇ¾úÀ» °æ¿ì

getOriginal

ResultSet  getOriginal()
                      throws SQLException 
ÀÌ CachedRowSet°´Ã¼ÀÇ ¿øÀÇ °ªÀ» Æ÷ÇÔÇÏ´Â ResultSet¿ÀºêÁ¦ ÄíÆ®¸¦ ¸®ÅÏÇÕ´Ï´Ù.

ResultSet °´Ã¼ÀÇ Ä¿¼­´Â ¼±µÎÇàÀÇ Àü¿¡ µÑ ÇÊ¿ä°¡ ÀÖ½À´Ï´Ù. °Ô´Ù°¡ ¸®ÅÏµÈ ResultSet °´Ã¼´Â ´ÙÀ½ÀÇ ÇÁ·ÎÆÛƼ¸¦ °¡Áú ÇÊ¿ä°¡ ÀÖ½À´Ï´Ù.

RowSet °´Ã¼ÀÇ ¿øÀÇ °ªÀº ºÎÇÏÀÇ µ¥ÀÌÅÍ ¼Ò½º¿Í ¸¶Áö¸· µ¿±âÀÇ ¾Õ¿¡ Æ÷ÇԵǰí ÀÖ´ø °ªÀÔ´Ï´Ù. µ¿±â°¡ ¾ø¾ú´ø °æ¿ì, ¿øÀÇ °ªÀº, RowSet °´Ã¼¿¡ Æ÷ÇÔµÈ °ªÀÌ µË´Ï´Ù. ÀÌ ¸Þ¼­µå´Â ¾îÇø®ÄÉÀ̼ÇÀÌ acceptChanges ¸Þ¼­µå¸¦ È£ÃâÇØ, SyncProvider °´Ã¼°¡ °æÇÕÀ» È®ÀÎÇϵµ·Ï ±¸ÇöµÇ°í ÀÖ´Â °æ¿ì¿¡ ³»ºÎ¿¡¼­ È£ÃâÇÕ´Ï´Ù. ÀÌ °æ¿ì ¶óÀÌÅÍ´Â ¿øÀÇ °ª°ú µ¥ÀÌÅÍ ¼Ò½º³»ÀÇ ÇöÀçÀÇ °ªÀ» ºñ±³ÇØ, °æÇÕ¸¦ È®ÀÎÇÕ´Ï´Ù.

¹Ýȯ°ª:
ÀÌ CachedRowSet °´Ã¼ÀÇ ¿øÀÇ °ªÀ» Æ÷ÇÔÇÏ´Â ResultSet °´Ã¼
¿¹¿Ü:
SQLException - ResultSet °´Ã¼ÀÇ »ý¼º½Ã¿¡ ¿¡·¯°¡ ¹ß»ýÇßÀ» °æ¿ì

getOriginalRow

ResultSet  getOriginalRow()
                         throws SQLException 
ÀÌ CachedRowSet°´Ã¼ÀÇ ÇöÀçÀÇ ÇุÀÇ ¿øÀÇ °ªÀ» Æ÷ÇÔÇÏ´Â ResultSet¿À ºêÁ¦Å©Æ®¸¦ ¸®ÅÏÇÕ´Ï´Ù.

ResultSet °´Ã¼ÀÇ Ä¿¼­´Â ¼±µÎÇàÀÇ Àü¿¡ µÑ ÇÊ¿ä°¡ ÀÖ½À´Ï´Ù. °Ô´Ù°¡ ¸®ÅÏµÈ ResultSet °´Ã¼´Â ´ÙÀ½ÀÇ ÇÁ·ÎÆÛƼ¸¦ °¡Áú ÇÊ¿ä°¡ ÀÖ½À´Ï´Ù.

¹Ýȯ°ª:
ÇàÀÇ ¿øÀÇ °á°ú ¼¼Æ®
¿¹¿Ü:
SQLException - ÇöÀçÇàÀÌ Á¸ÀçÇÏÁö ¾Ê´Â °æ¿ì
°ü·Ã Ç׸ñ:
setOriginalRow()

setOriginalRow

void setOriginalRow()
                    throws SQLException 
ÀÌ CachedRowSet°´Ã¼ÀÇ ÇöÀçÀÇ ÇàÀ» ¿øÀÇ ÇàÀ¸·Î¼­ ¼³Á¤ÇÕ´Ï´Ù.

ÀÌ ¸Þ¼­µå´Â ÇöÀçÀÇ ÇàÀÇ º¯°æµÈ °ªÀÌ µ¥ÀÌÅÍ ¼Ò½º¿Í µ¿±â µÈ µÚ¿¡ ³»ºÎ¿¡¼­ È£ÃâÇÕ´Ï´Ù. ÇöÀçÀÇ ÇàÀº »ðÀÔ, »èÁ¦, ¶Ç´Â °»½ÅÀ¸·Î¼­ ÅÂ±× ºÙÀÌ°í ÇØ (ÀÌ)¶ó°í À־´Â ¾ÈµË´Ï´Ù.

setOriginalRow È£ÃâÀº Ãë¼ÒÇÒ ¼ö ¾ø½À´Ï´Ù.

¿¹¿Ü:
SQLException - ÇöÀçÇàÀÌ Á¸ÀçÇÏÁö ¾Ê´Â °æ¿ì, ¶Ç´Â ¿øÀÇ ÇàÀÇ ÄÁÅÙÃ÷ÀÇ ¸®¼Â½Ã¿¡ ¿¡·¯°¡ ¹ß»ýÇßÀ» °æ¿ì
°ü·Ã Ç׸ñ:
getOriginalRow()

getTableName

String  getTableName()
                    throws SQLException 
ÀÌ CachedRowSet°´Ã¼ÀÇ ÀÛ¼º¿¡ »ç¿ëµÈ °´Ã¼ (Å×À̺í) ÀÇ ½Äº°ÀÚ¸¦ ¸®ÅÏÇÕ´Ï´Ù. ÀÌ À̸§Àº ¹Ýº¹ ¼³Á¤ÇÒ ¼ö ÀÖ½À´Ï´Ù. À̸§ÀÇ ¼³Á¤ ȸ¼ö³ª, Ç¥ÁØ ±¸ÇöÀÌ ÀÌÀüÀÇ Å×À̺í¸íÀ» ÃßÀûÇÒ ÇÊ¿ä°¡ ÀÖÀ»Áö ¾î¶³Áö¿¡ ´ëÇؼ­´Â »ç¾ç¿¡ ¹ãÁ¦ÇÑÀº ¾ø½À´Ï´Ù.

¹Ýȯ°ª:
ÀÌ CachedRowSet °´Ã¼ÀÇ µ¥ÀÌÅÍÀÇ ¼Ò½ºÀÎ Å×À̺í¸íÀ» ÁöÁ¤ÇÏ´Â String °´Ã¼, ¶Ç´Â Å×À̺íÀÇ À̸§À» ¼³Á¤ÇÏ°í ÀÖÁö ¾Ê´Â °æ¿ì´Â null
¿¹¿Ü:
SQLException - Å×À̺í¸íÀ» µ¹·ÁÁÙ ¶§ ¿¡·¯°¡ ¹ß»ýÇßÀ» °æ¿ì
°ü·Ã Ç׸ñ:
ResultSetMetaData.getTableName(int)

setTableName

void setTableName(String  tabName)
                  throws SQLException 
ÀÌ CachedRowSet°´Ã¼ÀÇ ÆÄ»ý¿øÀÇ Å×À̺íÀÇ ½Äº°ÀÚ¸¦, ÁöÁ¤ÀÇ Å×À̺í¸íÀ¸·Î ¼³Á¤ÇÕ´Ï´Ù. ¶óÀÌÅÍ´Â µ¿±â½Ã¿¡ ÀÌ À̸§À» »ç¿ëÇØ, µ¥ÀÌÅÍ ¼Ò½ºÀÇ °ª°ú CachedRowSet°´Ã¼ÀÇ °ªÀ» ºñ±³ÇÒ ¶§¿¡ »ç¿ëÇÏ´Â Å×ÀÌ ºÒÀ» ÆÇ´ÜÇÕ´Ï´Ù. Å×À̺íÀÇ ½Äº°ÀÚ´Â ÀÌ CachedRowSet°´Ã¼·ÎºÎÅÍ º¯°æµÈ °ªÀ» Ãâ·ÂÇÏ´Â Àå¼Òµµ °¡¸®ÄÑ.

ÀÌ CachedRowSet °´Ã¼ÀÇ ±¸Çö¿¡¼­´Â ³»ºÎÀûÀ¸·Î RowSetMetaDataImpl °´Ã¼¿¡ À̸§À» Ãëµæ½Ãų ¼ö°¡ ÀÖ½À´Ï´Ù.

ÆĶó¹ÌÅÍ:
tabName - ÀÌ CachedRowSet °´Ã¼°¡ ÆÄ»ýÇÑ Å×À̺íÀ» ½Äº°ÇÏ´Â String °´Ã¼. nullÀº ºÒ°¡ ºñ¾îÀִ ij¸¯ÅÍ ¶óÀÎÀº °¡´É
¿¹¿Ü:
SQLException - Å×ÀÌ ºÒÀÇ À̸§ºÎ·Î ¿¡·¯°¡ ¹ß»ýÇßÀ» °æ¿ì, ¶Ç´Â tabName°¡ nullÀÎ °æ¿ì
°ü·Ã Ç׸ñ:
RowSetMetaData.setTableName(int, java.lang.String), RowSetWriter, SyncProvider

getKeyColumns

int[] getKeyColumns()
                    throws SQLException 
ÀÌ CachedRowSet°´Ã¼ÀÇ ÇàÀ» ÀÏÀÇ¿¡ ½Äº°ÇÏ´Â Å°¸¦ ±¸¼ºÇÏ´Â ¿­À» ³ªÅ¸³»´Â 1 °³ÀÌ»óÀÇ ¿­¹øÈ£¸¦ Æ÷ÇÔÇÏ´Â ¹è¿­À» ¸®ÅÏÇÕ´Ï´Ù.

¹Ýȯ°ª:
ÀÌ CachedRowSet °´Ã¼ÀÇ ÇàÀÇ ÁÖÅ°¸¦ ±¸¼ºÇÏ´Â ¿­À» ³ªÅ¸³»´Â ¿­¹øÈ£¸¦ Æ÷ÇÔÇÏ´Â ¹è¿­. ÁÖÅ°¸¦ Ç¥ÇöÇÏ´Â ¿­ÀÌ ¾ø´Â °æ¿ì, ÀÌ ¹è¿­Àº ºñ¿î´Ù
¿¹¿Ü:
SQLException -¿Í ÀÇ CachedRowSet °´Ã¼°¡ ºñ¾îÀÖ´Â °æ¿ì
°ü·Ã Ç׸ñ:
setKeyColumns(int[]), Joinable.getMatchColumnIndexes(), Joinable.getMatchColumnNames()

setKeyColumns

void setKeyColumns(int[] keys)
                   throws SQLException 
ÀÌ CachedRowSet°´Ã¼ÀÇ keyColsÇʵ忡 ÁöÁ¤µÈ ·Ä¹ø È£ÀÇ ¹è¿­ (ÀÌ CachedRowSet°´Ã¼³»ÀÇ ÇàÀ» ÀÏÀÇ¿¡ ½Äº°ÇÏ´Â Å°¸¦ ±¸¼ºÇÑ´Ù)À» ¼³Á¤ÇÕ´Ï´Ù.

CachedRowSet °´Ã¼°¡ JoinRowSet °´Ã¼¿¡ Æ÷ÇԵǴ °æ¿ì, Å°¿­·Î¼­ ÁöÁ¤µÈ ¿­ÀÌ ÀÏÄ¡¿­ÀÌ µÇ¸é, ÀÌ ¸Þ¼­µå·Î Á¤ÀÇµÈ Å°¿Í »ý¼ºµÈ Á¦¾àÀº º¸°ü À¯ÁöµË´Ï´Ù.

ÆĶó¹ÌÅÍ:
keys - ÀÌ CachedRowSet °´Ã¼ÀÇ ÁÖÅ°¸¦ ±¸¼ºÇÏ´Â ¿­À» ³ªÅ¸³»´Â int ¹è¿­. ¹è¿­³»ÀÇ °¢ ¿ä¼Ò´Â 0 º¸´Ù Å©°í, ÇÑÆí ÀÌ Çà ¼¼Æ®³»ÀÇ ·Ä¼öÀÌÇÏÀÏ ÇÊ¿ä°¡ ÀÖ´Ù
¿¹¿Ü:
SQLException - ÁöÁ¤µÈ ¹è¿­³»ÀÇ ¹øÈ£°¡ ÀÌ Çà ¼¼Æ®·Î À¯È¿ÇÏÁö ¾ÊÀº °æ¿ì
°ü·Ã Ç׸ñ:
getKeyColumns(), Joinable.setMatchColumn(String), Joinable.setMatchColumn(int)

createShared

RowSet  createShared()
                    throws SQLException 
ÀÌ CachedRowSet°´Ã¼¿Í °°Àº µ¥ÀÌÅÍ¿¡ÀÇÇØ ¹é¾÷ µÈ »õ·Î¿î RowSet¿À ºêÁ¦Å©Æ®¸¦ ¸®ÅÏÇÕ´Ï´Ù. ½ÇÁ¦·Î ¾çÂÊ ¸ðµÎÀÇ CachedRowSet°´Ã¼´Â °°Àº µ¥ÀÌÅÍ»ó¿¡ Ä¿¼­¸¦ °¡Áý´Ï´Ù. ±× °á°ú, ¿øÀÇ °´Ã¼¿¡ ÇÑ º¯°æÀÌ, ±× ¸ðµç Áߺ¹¿¡ °¡½ÃÀÎ °Í°ú °°°Ô, Áߺ¹¿¡ ÇÑ ¸ðµç º¯°æÀÌ, ¿øÀÇ °´Ã¼¿Í ±× ¿ÜÀÇ ¸ðµç Áߺ¹¿¡ °¡´É ½Ã°¡ µË´Ï´Ù. Áߺ¹À¸·Î ºÎÇÏÀÇ µ¥ÀÌÅ͸¦ º¯°æÇÏ´Â ¸Þ¼­µå¸¦ È£ÃâÇϸé, ±× ¸Þ¼­µå´Â ¿øÀÇ CachedRowSet¿Àºê Á§Æ®¿¡ ÀÇÇØ È£ÃâµÇ´Â °æ¿ì¿Í ¿ÏÀüÈ÷ ¶È°°ÀÌ, µî·ÏµÈ ¸ðµç ¸®½º³Ê¿¡°Ô ÅëÁöÇÕ´Ï´Ù.

°Ô´Ù°¡ ÀÌ ¸Þ¼­µå¿¡ ÀÇÇØ ÀÛ¼ºµÇ´Â RowSet°´Ã¼´Â ÀÌ CachedRowSet °´Ã¼¿Í °°Àº ÇÁ·ÎÆÛƼ¸¦ °¡Áý´Ï´Ù. ¿¹¸¦ µé¾îÀÌ CachedRowSet °´Ã¼°¡ Àбâ Àü¿ë ÀÇ °æ¿ì, ±× ¸ðµç Áߺ¹µµ Àбâ Àü¿ëÀÌ µË´Ï´Ù. ÀÌ°ÍÀ» °»½Å °¡´ÉÇÏ°Ô º¯°æÇϸé, Áߺ¹µµ °»½Å °¡´ÉÇÏ°Ô µË´Ï´Ù.

ÁÖ: º¹¼öÀÇ thread°¡ createShared() ¸Þ¼­µå¿¡ ÀÇÇØ ÀÛ¼ºµÈ RowSet °´Ã¼¿¡ ¾×¼¼½º ÇÏ´Â °æ¿ì, °øÀ¯ µ¥ÀÌÅÍÀÇ Á¤ÇÕ¼ºÀ» È®º¸Çϱâ À§ÇØ, ´ÙÀ½ÀÇ µ¿ÀÛÀÌ ÁöÁ¤µË´Ï´Ù. ¸ðµç °øÀ¯µÈ RowSet °´Ã¼ÀÇ µ¶ÇØ¿Í Ãâ·ÂÀº °¢ °´Ã¼¿Í ºÎÇÏÀÇ ´ÜÀÏÀÇ °Ñ(Ç¥) ±¸Á¶°£¿¡ ¼ø¼­´ë·Î ÇàÇØÁú ÇÊ¿ä°¡ ÀÖ½À´Ï´Ù.

¹Ýȯ°ª:
ÀÌ CachedRowSet °´Ã¼¿Í °°Àº ÇÁ·ÎÆÛƼ¸¦ °¡Á®, °°Àº µ¥ÀÌÅÍ»óÀÇ Ä¿¼­¸¦ °¡Áö´Â »õ·Î¿î °øÀ¯ RowSet °´Ã¼
¿¹¿Ü:
SQLException - ¿¡·¯°¡ ¹ß»ýÇßÀ» °æ¿ì, ¶Ç´Â ºÎÇÏÀÇ Ç÷§Æû¿¡¼­ º¹Á¦°¡ Áö¿ø µÇ¾î ÀÖÁö ¾ÊÀº °æ¿ì
°ü·Ã Ç׸ñ:
RowSetEvent, RowSetListener

createCopy

CachedRowSet  createCopy()
                        throws SQLException 
ÀÌ CachedRowSet°´Ã¼ÀÇ µ¥ÀÌÅÍÀÇ µö º¹»çÀÎ RowSet¿À ºêÁ¦Å©Æ®¸¦ ÀÛ¼ºÇÕ´Ï´Ù. createSharedÈ£Ãâ¿¡ ÀÇÇØ »ý¼ºµÈ RowSet¿À ºêÁ¦Å©Æ®ÀÇ °æ¿ì¿Í´Â ´Þ¶ó, ¿øÀÇ RowSet°´Ã¼ÀÇ º¹Á¦ÀÇ °»½ÅÀÌ, ¿øÀÇ RowSet¿À ºêÁ¦Å©Æ®¿¡ °¡½Ã¿© µÇÁö ¾Ê½À´Ï´Ù. ¶Ç, ¿øÀÇ RowSet¿¡ µî·ÏµÈ À̺¥Æ® ¸®½º³ÊÀÇ ½ºÄÚÇÁ¿¡ »õ·Î¿î RowSetÄÚ ÇÇ°¡ Æ÷ÇԵǾî ÀÖ¾î µÇÁö ¾Ê½À´Ï´Ù. ¶Ç, È®¸³ ³¡³­ Á¦¾à Á¦ÇÑÀº º¸°ü À¯ÁöµÇÁö ¾ÊÀ¸¸é ¾ÈµË´Ï´Ù.

¹Ýȯ°ª:
»õ·Î¿î RowSet °´Ã¼. CachedRowSet °´Ã¼ÀÇ µö Ä«ÇÇÀ̸ç, ÀÌ CachedRowSet (À¸)·ÎºÎÅÍ´Â ¿ÏÀüÇÏ°Ô µ¶¸³ÇÏ°í ÀÖ´Ù
¿¹¿Ü:
SQLException - ÀÌ CachedRowSet °´Ã¼ÀÇ º¹Á¦ÀÇ »ý¼º½Ã¿¡ ¿¡·¯°¡ ¹ß»ýÇßÀ» °æ¿ì
°ü·Ã Ç׸ñ:
createShared(), createCopySchema(), createCopyNoConstraints(), RowSetEvent, RowSetListener

createCopySchema

CachedRowSet  createCopySchema()
                              throws SQLException 
ÀÌ CachedRowSet°´Ã¼ÀÇ ºñ¾îÀÖ´Â º¹»çÀÎ CachedRowSet¿À ºêÁ¦Å©Æ®¸¦ ÀÛ¼ºÇÕ´Ï´Ù. Ä«ÇÇ¿¡´Â ¾Æ¹«°Íµµ Æ÷ÇÔÇÏÁö ¾Ê°í, ¿øÀÇ CachedRowSet°´Ã¼ÀÇ °Ñ(Ç¥) ±¸Á¶¸¸À» Ç¥ÇöÇÒ ÇÊ¿ä (ÀÌ)°¡ ÀÖ½À´Ï´Ù. °Ô´Ù°¡ ¿øÀÇ CachedRowSet°´Ã¼·Î ¼³Á¤µÈ ÁÖÅ° ¶Ç´Â ¿ÜºÎ Å°ÀÇ Á¦¾àÀ» »õ·Î¿î ºñ¾îÀÖ´Â CachedRowSet°´Ã¼¿¡µµ µ¿ÀÏÇÏ°Ô Àû¿ëÇÒ ÇÊ¿ä°¡ ÀÖ½À´Ï´Ù. createShared¸Þ ¼Úµå È£Ãâ¿¡ ÀÇÇØ »ý¼ºµÈ RowSet°´Ã¼¿Í´Â ´Þ¶ó, createCopySchema¸Þ ¼Úµå¿¡ ÇÑ ÀÌ CachedRowSet°´Ã¼ÀÇ Ä«ÇÇ¿¡ÀÇ °»½ÅÀº °¡½ÃÀ¸·Î¼­´Â µÇÁö ¾Ê½À´Ï´Ù.

¾îÇø®ÄÉÀ̼ÇÀº ÀÌ ¸Þ¼­µå¿¡ ÀÇÇØ ¸®ÅÏµÈ CachedRowSet °´Ã¼·ÎºÎÅÍ WebRowSet °´Ã¼¸¦ Çü¼ºÇØ, ³ªÁß¿¡ »ç¿ëÇϱâ À§Çؼ­ RowSet schema Á¤ÀǸ¦ XML¿¡ export ÇÒ ¼ö ÀÖ½À´Ï´Ù.

¿¹¿Ü:
SQLException - ÀÌ CachedRowSet °´Ã¼ÀÇ ±¸Á¶ÀÇ º¹Á¦½Ã¿¡ ¿¡·¯°¡ ¹ß»ýÇßÀ» °æ¿ì
°ü·Ã Ç׸ñ:
createShared(), createCopySchema(), createCopyNoConstraints(), RowSetEvent, RowSetListener

createCopyNoConstraints

CachedRowSet  createCopyNoConstraints()
                                     throws SQLException 
ÀÌ CachedRowSet°´Ã¼ÀÇ µö Ä«ÇÇÀÌÁö¸¸, µ¶¸³ÇÏ°í ÀÖ´Â CachedRowSet¿À ºêÁ¦Å©Æ®¸¦ ÀÛ¼ºÇÕ´Ï´Ù. createShared¸Þ¼­µå È£Ãâ¿¡ ÀÇÇØ »ý¼ºµÈ RowSet¿À ºêÁ¦Å©Æ®ÀÇ °æ¿ì¿Í´Â ´Þ¶ó, ÀÌ CachedRowSet°´Ã¼ÀÇ Ä«ÇÇ¿¡ ´ëÇؼ­ ÇàÇØÁø º¯°æÀº °¡½Ã¿© ¼±. °Ô´Ù°¡ ÀÌ CachedRowSet°´Ã¼¿¡ ÀÇÇØ µî·ÏµÈ ¸ðµç À̺¥Æ® ¸®½º³ÊÀÇ ½ºÄÚÇÁ¿¡ ½Å ÀÇÇØ ÀÖ°í RowSet°´Ã¼°¡ Æ÷ÇԵǾî ÀÖ¾î µÇÁö ¾Ê½À´Ï´Ù. ¶Ç, ÀÌ CachedRowSet¿À ºêÁ¦Å©Æ®¿¡ ´ëÇؼ­ È®¸³µÈ Á¦¾à Á¦ÇÑÀº Ä«ÇÇ¿¡ À¯ÁöµÇ°í ÀÖ¾î µÇÁö ¾Ê½À´Ï´Ù.

¹Ýȯ°ª:
»õ·Î¿î CachedRowSet °´Ã¼. CachedRowSet °´Ã¼ÀÇ µö Ä«ÇÇÀ̸ç, ÀÌ CachedRowSet °´Ã¼·ÎºÎÅÍ´Â ¿ÏÀüÇÏ°Ô µ¶¸³ÇÏ°í ÀÖ´Ù
¿¹¿Ü:
SQLException - CachedRowSet °´Ã¼ÀÇ º¹Á¦ÀÇ »ý¼º½Ã¿¡ ¿¡·¯°¡ ¹ß»ýÇßÀ» °æ¿ì
°ü·Ã Ç׸ñ:
createCopy(), createShared(), createCopySchema(), RowSetEvent, RowSetListener

getRowSetWarnings

RowSetWarning  getRowSetWarnings()
                                throws SQLException 
ÀÌ RowSet°´Ã¼¿¡ °üÇÑ È£Ãâ¿¡ ÀÇÇØ º¸°íµÇ´Â ÃÖÃÊÀÇ °æ°í¸¦ ¸®ÅÏÇÕ´Ï´Ù. ÈļÓÀÇ RowSet¿À ºêÁ¦Å©Æ®ÀÇ °æ°í´Â ÀÌ ¸Þ¼­µå°¡ µ¹·ÁÁÖ´Â RowSetWarning°´Ã¼¿¡ üÀÎ µË´Ï´Ù.

°æ°í üÀÎÀº »õ·Î¿î ÇàÀÌ ÀÐÈú ¶§¸¶´Ù ÀÚµ¿ÀûÀ¸·Î Ŭ¸®¾î µË´Ï´Ù. ÀÌ ¸Þ¼­µå´Â Ŭ·Î¿ìÁî µÈ RowSet °´Ã¼ÀÇ È£Ãâ¿¡´Â »ç¿ëÇÏÁö ¾Ê½À´Ï´Ù. »ç¿ëÇϸé SQLException°¡ ¹ß»ý µË´Ï´Ù.

¹Ýȯ°ª:
RowSetWarning. º¸°íµÈ ÃÖÃÊÀÇ RowSetWarning °´Ã¼. ¾ø´Â °æ¿ì´Â null
¿¹¿Ü:
SQLException - ÀÌ ¸Þ¼­µå°¡ ´ÝÇôÁø RowSet »ó¿¡¼­ ºÒ·Á °¬À» °æ¿ì
°ü·Ã Ç׸ñ:
RowSetWarning

getShowDeleted

boolean getShowDeleted()
                       throws SQLException 
ÇöÀçÀÇ Çà ¼¼Æ®³»ÀÇ »èÁ¦ÇàÀ» Ç¥½ÃÇÒÁö ¾î¶³Áö¸¦ ³ªÅ¸³»´Â booleanÀ» ÃëµæÇÕ´Ï´Ù. true°¡ ¹Ý µÇ¾úÀ» °æ¿ì, »èÁ¦ÇàÀº ÇöÀçÀÇ Çà°ú ÇÔ²² Ç¥½ÃµË´Ï´Ù. false°¡ µ¹·ÁÁÖ°íÁ³À» °æ¿ì, »èÁ¦ÇàÀº ÇöÀçÀÇ Ç༼Ʈ³»¿¡ Ç¥½ÃÅ° ÀÀ. ±âº»°ª´Â falseÀÔ´Ï´Ù.

Ç¥ÁØÇà ¼¼Æ® ±¸ÇöÀº º¸¾È»óÀÇ ¹è·Á ¶Ç´Â ƯÁ¤ÀÇ ¹èÄ¡ ½Ã³ª¸®¿À¿¡ ÀûÇÕ½ÃÅ°±â ¶§¹®¿¡ ÀÌ µ¿ÀÛÀ» Á¦ÇÑÇÒ ¼ö ÀÖ½À´Ï´Ù . ÀÌ°ÍÀº Á¤ÀÇ ³¡³­ ±¸ÇöÀ¸·Î¼­ ³²°ÜÁ® Ç¥ÁØÀÇ µ¿ÀÛÀ» ³ªÅ¸³»Áö ¾Ê½À´Ï´Ù.

ÁÖ: »èÁ¦µÈ ÇàÀ» Ç¥½ÃÇϸé, ÀϺÎÀÇ Ç¥ÁØ JDBC RowSet ±¸Çö ¸Þ¼­µåÀÇ µ¿ÀÛÀÌ º¹ÀâÇÏ°Ô µË´Ï´Ù. ±×·¯³ª, »èÁ¦µÈ ÇàÀ» Ç¥½ÃÇÏ´Â ±â´ÉÀº ¸Å¿ì Àü¹®ÀûÀÎ ¾îÇø®ÄÉÀ̼ÇÀ¸·Î ¹Û¿¡ »ç¿ëµÇÁö ¾Ê½À´Ï´Ù. µû¶ó¼­,¿Í ¾î´À Çà ¼¼Æ® »ç¿ëÀÚ´Â ÀÌ ¼³Á¤À» ¹«½ÃÇØ ±¦Âú½À´Ï´Ù.

¹Ýȯ°ª:
»èÁ¦µÈ ÇàÀ» Ç¥½Ã ÇÏ´Â °æ¿ì´Â true, ±×·¸Áö ¾ÊÀº °æ¿ì´Â false
¿¹¿Ü:
SQLException - Çà ¼¼Æ® ±¸ÇöÀÌ, »èÁ¦ÇàÀÌ Ç¥½ÃµÉÁö ¾î¶³Áö¸¦ ÆÇ´ÜÇÒ ¼ö ¾ø´Â °æ¿ì
°ü·Ã Ç׸ñ:
setShowDeleted(boolean)

setShowDeleted

void setShowDeleted(boolean b)
                    throws SQLException 
showDeletedÇÁ·ÎÆÛƼ¿¡ ÁöÁ¤µÈ booleanÄ¡¸¦ ¼³Á¤ÇÕ´Ï´Ù. ÀÌ°Í¿¡, »èÁ¦ÇàÀ» ÇöÀçÀÇ Çà ¼¼Æ®³»¿¡ Ç¥½ÃÇÒÁö ¾î¶³Áö°¡ °áÁ¤µË´Ï´Ù. °ªÀÌ trueÀÇ °æ¿ì, »èÁ¦µÈ ÇàÀÌ ÇöÀçÀÇ Çà ¼¼Æ®¿Í¶ó°íµµ¿¡ Ç¥½ÃµË´Ï´Ù. °ªÀÌ falseÀÇ °æ¿ì, »èÁ¦µÈ ÇàÀº ÇöÀçÀÇ Çà ¼¼Æ®³»¿¡ Ç¥½ÃµÇÁö ¾Ê½À´Ï´Ù.

Ç¥ÁØÇà ¼¼Æ® ±¸ÇöÀº º¸¾È»óÀÇ ¹è·Á ¶Ç´Â ƯÁ¤ÀÇ ¹èÄ¡ ½Ã³ª¸®¿À¿¡ ÀûÇÕ½ÃÅ°±â ¶§¹®¿¡ ÀÌ µ¿ÀÛÀ» Á¦ÇÑÇÒ ¼ö ÀÖ½À´Ï´Ù . ÀÌ°ÍÀº Á¤ÀÇ ³¡³­ ±¸ÇöÀ¸·Î¼­ ³²°ÜÁ® Ç¥ÁØÀÇ µ¿ÀÛÀ» ³ªÅ¸³»Áö ¾Ê½À´Ï´Ù.

ÆĶó¹ÌÅÍ:
b - »èÁ¦µÈ ÇàÀ» °Ñ(Ç¥) ½Ã ÇÏ´Â °æ¿ì´Â true, ±×·¸Áö ¾ÊÀº °æ¿ì´Â false
¿¹¿Ü:
SQLException - Çà ¼¼Æ® ±¸ÇöÀÌ, »èÁ¦ÇàÀÇ Ç¥½Ã ¶Ç´Â ºñÇ¥½ÃÀÇ ¼³Á¤À» ¸®¼Â ÇÒ ¼ö ¾ø´Â °æ¿ì
°ü·Ã Ç׸ñ:
getShowDeleted()

commit

void commit()
            throws SQLException 
CachedRowSet°´Ã¼ÀÇ SyncProvider¿¡´Â ResultSetÀÇ Connection°´Ã¼Àΰ¡ »ý¼ºÀÚ¿¡°Ô °Ç³×Áö´Â JDBC ÇÁ·ÎÆÛƼ°¡ Æ÷ÇԵ˴ϴÙ. ÀÌ ¸Þ¼­µå´Â ConnectionÄÚ ¹ÌÆ® ¸Þ¼­µå¸¦ ·¦ ÇØ, À¯¿¬ÇÑ ÀÚµ¿ À§Å¹ ¶Ç´Â ºñÀÚµ¿ À§Å¹ÀÇ Æ®·£Àè¼Ç(transaction) Á¦¾î Áö¿ø¸¦ Á¦°øÇÕ´Ï´Ù.

ÀüȸÀÇ À§Å¹/·Ñ¹é(rollback)ÀÇ µÚ, acceptChanges() ¸Þ¼­µå¿¡ ÀÇÇØ ÇàÇØÁø ¸ðµç º¯°æÀ» ¿µ¼ÓÀûÀÎ °ÍÀ¸·Î ÇÕ´Ï´Ù. ÀÌ ¸Þ¼­µå´Â ÀÚµ¿ À§Å¹ ¸ðµå°¡ ¹«È¿°¡ µÇ¾î ÀÖÀ» ¶§ ¹Û¿¡ »ç¿ëÇÒ ¼ö ¾ø½À´Ï´Ù.

¿¹¿Ü:
SQLException - µ¥ÀÌŸº£À̽º ¾×¼¼½º ¿¡·¯°¡ ¹ß»ýÇßÀ» °æ¿ì, ¶Ç´Â ÀÌ CachedRowSet ³»ÀÇ Connection °´Ã¼°¡ ÀÚµ¿ À§Å¹ ¸ðµåÀÎ °æ¿ì
°ü·Ã Ç׸ñ:
Connection.setAutoCommit(boolean)

rollback

void rollback()
              throws SQLException 
CachedRowSet°´Ã¼ÀÇ SyncProvider¿¡´Â ¿øÀÇ ResultSetÀÇ Connection°´Ã¼Àΰ¡ °Å±â¿¡ °Ç³×¹Þ´Â JDBC ÇÁ·ÎÆÛƼ°¡ Æ÷ÇԵ˴ϴÙ.

ÇöÀçÀÇ Æ®·£Àè¼Ç(transaction)¿¡¼­ÀÇ ¸ðµç º¯°æÀ» Ãë¼ÒÇÕ´Ï´Ù. ÀÌ ¸Þ¼­µå´Â ÀÚµ¿ À§Å¹ ¸ðµå°¡ ¹«È¿°¡ µÇ¾î ÀÖÀ» ¶§ ¹Û¿¡ »ç¿ëÇÒ ¼ö ¾ø½À´Ï´Ù.

¿¹¿Ü:
SQLException - µ¥ÀÌ Å¸º£À̽º¾ÆÅ©¼¼½º¿¡¶ó°¡ ¹ß»ýÇßÀ» °æ¿ì, ¶Ç´Â ÀÌ CachedRowSet ³»ÀÇ Connection °´Ã¼°¡ ÀÚµ¿ À§Å¹ ¸ðµåÀÎ °æ¿ì

rollback

void rollback(Savepoint  s)
              throws SQLException 
CachedRowSet°´Ã¼ÀÇ SyncProvider¿¡´Â ¿øÀÇ ResultSetÀÇ Connection°´Ã¼Àΰ¡ °Å±â¿¡ °Ç³×¹Þ´Â JDBC ÇÁ·ÎÆÛƼ°¡ Æ÷ÇԵ˴ϴÙ.

ÇöÀçÀÇ Æ®·£Àè¼Ç(transaction)¿¡¼­ÀÇ ¸ðµç º¯°æÀ» Ãë¼ÒÇØ, ¸¶Áö¸· Savepoint Æ®·£Àè¼Ç(transaction) ¸¶Ä¿¿¡ µÇµ¹¸³´Ï´Ù. ÀÌ ¸Þ¼­µå´Â ÀÚµ¿ À§Å¹ ¸ðµå°¡ ¹«È¿°¡ µÇ¾î ÀÖÀ» ¶§ ¹Û¿¡ »ç¿ëÇÒ ¼ö ¾ø½À´Ï´Ù.

ÆĶó¹ÌÅÍ:
s - Savepoint Æ®·£Àè¼Ç(transaction) ¸¶Ä¿
¿¹¿Ü:
SQLException - µ¥ÀÌ Å¸º£À̽º¾ÆÅ©¼¼½º¿¡¶ó°¡ ¹ß»ýÇßÀ» °æ¿ì, ¶Ç´Â ÀÌ CachedRowSet ³»ÀÇ Connection °´Ã¼°¡ ÀÚµ¿ À§Å¹ ¸ðµåÀÎ °æ¿ì

rowSetPopulated

void rowSetPopulated(RowSetEvent  event,
                     int numRows)
                     throws SQLException 
µî·ÏÀÌ ³¡³­ ¸®½º³Ê¿¡°Ô, ÁöÁ¤µÈ RowSetEvent °´Ã¼³»ÀÇ RowSet °´Ã¼°¡ ´Ù¼öÀÇ Ãß°¡ÇàÀ» ÀоîµéÀÎ °ÍÀ» ÅëÁöÇÕ´Ï´Ù. numRowsÆÄ ¶ó¸ÞÀÌŸ¿¡ÀÇÇØ ÀÌ À̺¥Æ®´Â numRow¸¶´Ù Æ®¸®°ÅµË´Ï´Ù.

À̺¥Æ®ÀÇ ¼Ò½º´Â event.getSource ¸Þ¼­µå·Î ÃëµæÇÒ ¼ö ÀÖ½À´Ï´Ù.

ÆĶó¹ÌÅÍ:
event - À̺¥Æ® ÀÇ ¼Ò½ºÀÎ RowSet °´Ã¼¸¦ Æ÷ÇÔÇÏ´Â RowSetEvent °´Ã¼
numRows - Àбâ Æ÷ÇÔ½ÃÀÇ ÇàÀÇ °£°Ý¼ö. ¿©±â¼­, ÀÐÈù CachedRowSetÀÌ Æ®¸®°ÅµÈ´Ù. ±âº»°ª´Â Á¦·Î. fetchSize º¸´Ù ÀÛÀº °ª°ú Á¦·Îº¸´Ù ÀÛÀº °ªÀº ÁöÁ¤ÇÒ ¼ö ¾ø´Ù
¿¹¿Ü:
SQLException

populate

void populate(ResultSet  rs,
              int startRow)
              throws SQLException 

ÀÌ CachedRowSet °´Ã¼·Î ÁöÁ¤µÈ ResultSet °´Ã¼ÀÇ µ¥ÀÌÅ͸¦ ÀоîµéÀÔ´Ï´Ù. populate(ResultSet) ¸Þ¼­µå¿¡ °ü·ÃµÈ ÀÎ °æ¿ì, Ãß°¡ ÆĶó¹ÌÅÍ¿¡ÀÇÇØ CashedRowSet ÀνºÅϽºÀÇ read¸¦ °³½ÃÇÏ´Â ResultSet ¾ÈÀÇ °³½Ã À§Ä¡¸¦ ÁöÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù .

ÀÌ ¸Þ¼­µå´Â ¾îÇø®ÄÉÀ̼ÇÀÌ ¿ÀÇÂÇÏ°í ÀÖ´Â ResultSet °´Ã¼¿¡ Á¢¼ÓÇÏ°í ÀÖÀ» ¶§ execute ¸Þ¼­µåÀÇ ´ëü·Î¼­ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. »õ·Î¿î Á¢¼ÓÀ» ¿­¾î ÀÌ CachedRowSet °´Ã¼ÀÇ Ä¿¸àµå¸¦ Àç½ÇÇàÇÒ ÇÊ¿ä°¡ ¾ø´Â Á¡À¸·Î½á, populate ¸Þ¼­µå´Â ÆĶó¹ÌÅ͸¦ ÃëÇÏÁö ¾Ê´Â execute ¸Þ¼­µåº¸´Ù È¿À²ÀûÀÔ´Ï´Ù. ¶Ç, populate ¸Þ¼­µå¸¦ »ç¿ëÇÏ´Â °ÍÀº, ResultSet °´Ã¼¸¦ ÃëÇÏ´Â execute ¸Þ¼­µåº¸´Ù Æí¸®ÇÕ´Ï´Ù.

ÆĶó¹ÌÅÍ:
startRow -
rs - ÀÌ CachedRowSet °´Ã¼¿¡ ÀÐÈ÷´Â µ¥ÀÌÅ͸¦ Æ÷ÇÔÇÑ ResultSet °´Ã¼
¿¹¿Ü:
SQLException - null ResultSet °´Ã¼°¡ Á¦°øµÇ¾úÀ» °æ¿ì, ¶Ç´Â ÀÌ CachedRowSet °´Ã¼°¡ °ü·ÃµÈ ResultSetMetaData °´Ã¼¸¦ ÃëµæÇÒ ¼ö ¾ø´Â °æ¿ì
°ü·Ã Ç׸ñ:
execute(java.sql.Connection), populate(ResultSet), ResultSet, ResultSetMetaData

setPageSize

void setPageSize(int size)
                 throws SQLException 
CachedRowSet°´Ã¼ÀÇ ÆäÀÌÁö »çÀÌÁ ¼³Á¤ÇÕ´Ï´Ù. CachedRowSet´Â ÀÚ½ÅÀ» ÆäÀÌÁö »çÀÌÁî·Î ¼³Á¤µÈ Çà¼öÀÇ Çà¿¡ ÀоîµéÀÌ´Â ¼³Á¤À¸·Î ÇÒ ¼ö ÀÖ½À´Ï´Ù. populate()¶Ç´Â execute()°¡ ºÒ·Á°¡ ¸é, CachedRowSet´Â RowSet read »ç¿ëÇÑ ¿øÀÇ SQL Äõ¸®¿¡ µû¶ó, Ãß°¡ ÆäÀÌÁö¸¦ ÆäÄ¡ ÇÕ´Ï´Ù.

ÆĶó¹ÌÅÍ:
size - CachedRowSet ÀÇ ÆäÀÌÁö »çÀÌÁî
¿¹¿Ü:
SQLException - CachedRowSet ÆäÀÌÁö »çÀÌÁîÀÇ ¼³Á¤½Ã¿¡ ¿¡·¯°¡ ¹ß»ýÇßÀ» °æ¿ì, ¶Ç´Â ÆäÀÌÁö »çÀÌÁî°¡ Á¦·Îº¸´Ù ÀÛÀº °æ¿ì

getPageSize

int getPageSize()
CachedRowSet°´Ã¼ÀÇ ÆäÀÌÁö »çÀÌÁ ¸®ÅÏÇÕ´Ï´Ù.

¹Ýȯ°ª:
ÆäÀÌÁö »çÀÌÁ ³ªÅ¸³½´Ù int

nextPage

boolean nextPage()
                 throws SQLException 
CachedRowSetÀÇ ÇöÀçÀÇ ÆäÀÌÁö¸¦ ÁõºÐ ÇÕ´Ï´Ù. ÀÌ°Í¿¡ ÀÇÇØ CachedRowSet¿­¸Å ÀåÀº ´ÙÀ½ÀÇ ÆäÀÌÁö »çÀÌÁî ºÐÀÇÇàÀ» ÆäÄ¡ ÇØ, RowSet¿¡ ÀоîµéÀÔ´Ï´Ù. ´Ù¸¸, ÀÌ ¶§¹®¿¡´Â ±× ¿ÜÀÇ ÇàÀÌ RowSet ÀÇ read¿¡ »ç¿ëµÈ ¿øÀÇ SQL Äõ¸®ÀÇ ½ºÄÚÇÁ³»¿¡ ³²¾Æ ÀÖÁö ¾ÊÀ¸¸é ¾ÈµË´Ï´Ù.

¹Ýȯ°ª:
¾ÆÁ÷ ÆäÀÌÁö°¡ ÀÖ´Â Àå¼Ò ÇÕÀº true, ÀÌ°ÍÀÌ ¸¶Áö¸· ÆäÀÌÁöÀÎ °æ¿ì´Â false
¿¹¿Ü:
SQLException - ´ÙÀ½ ÀÇ ÆäÀÌÁöÀÇ ÆäÄ¡½Ã¿¡ ¿¡·¯°¡ ¹ß»ýÇßÀ» °æ¿ì, ¶Ç´Â ÀÌ ¸Þ¼­µå°¡ populate ³ª execute ½ÇÇàÀü¿¡ ³Ê¹« »¡¸® ºÒ·Á °¬À» °æ¿ì

previousPage

boolean previousPage()
                     throws SQLException 
CachedRowSetÀÇ ÇöÀçÀÇ ÆäÀÌÁö¸¦ °¨ ºÐ ÇÕ´Ï´Ù. ÀÌ°Í¿¡ ÀÇÇØ CachedRowSet¿­¸Å ÀåÀº ÀÌÀüÀÇ ÆäÀÌÁö »çÀÌÁî ºÐÀÇÇàÀ» ÆäÄ¡ ÇØ, RowSet¿¡ ÀоîµéÀÔ´Ï´Ù. ÀÌÀüÀÇ ÆäÀÌÁö³»°¡ ¸®ÅÏµÈ ÇàÀÇ ¾çÀº RowSet ÀÇ read¿¡ »ç¿ëµÈ ¿øÀÇ SQL Äõ¸®ÀÇ ½ºÄÚÇÁ³»¿¡ ³²¾Æ ÀÖÀ» ÇÊ¿ä°¡ ÀÖ½À´Ï´Ù.

¹Ýȯ°ª:
ÀüÀÇ ÆäÀÌÁö°¡ Á¤»óÀûÀ¸·Î ÃëµæµÇ¾úÀ» °æ¿ì´Â true, ÀÌ°ÍÀÌ ÃÖÃÊÀÇ ÆäÀÌÁöÀÎ °æ¿ì´Â false
¿¹¿Ü:
SQLException - ÀÌ ÀüÀÇ ÆäÀÌÁöÀÇ ÆäÄ¡½Ã¿¡ ¿¡·¯°¡ ¹ß»ýÇßÀ» °æ¿ì, ¶Ç´Â ÀÌ ¸Þ¼­µå°¡ populate ³ª execute ½ÇÇàÀü¿¡ ³Ê¹« »¡¸® ºÒ·Á °¬À» °æ¿ì

JavaTM 2 Platform
Standard Ed. 5.0

Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy µµ ÂüÁ¶ÇϽʽÿÀ.