|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
ÀÌÀü Ŭ·¡½º ´ÙÀ½ Ŭ·¡½º | ÇÁ·¹ÀÓÀ¸·Î ÇÁ·¹ÀÓ ¾øÀÌ | |||||||||
°³¿ä: NESTED | Çʵå | constructor¡¡ ¡¡ | ¸Þ¼µå | »ó¼¼: Çʵå | constructor¡¡ ¡¡ | ¸Þ¼µå |
public interface CachedRowSet
CachedRowSet
ÀÇ ¸ðµç Ç¥ÁØ ±¸ÇöÀÌ ±¸ÇöÇØ¾ß ÇÏ´Â ÀÎÅÍÆäÀ̽ºÀÔ´Ï´Ù.
Sun Microsystems ·ÎºÎÅÍ Á¦°øµÈ CachedRowSet
ÀÎÅÍÆäÀ̽ºÀÇ ·¹ÆÛ·±½º ±¸ÇöÀº, Ç¥ÁØ ±¸ÇöÀÔ´Ï´Ù. °³¹ßÀÚ´Â À̰ÍÀ» ±×´ë·Î »ç¿ëÇÏ´Â Àϵµ, È®ÀåÇÏ´Â Àϵµ, ¶Ç´Â ÀÌ ÀÎÅÍÆäÀ̽ºÀÇ ±¸ÇöÀ» µ¶ÀÚÀûÀ¸·Î ÀÛ¼ºÇÒ ¼öµµ ÀÖ½À´Ï´Ù.
CachedRowSet
¿ÀºêÁ§Æ®´Â
¸Þ¸ð¸®³»¿¡ ÇàÀ» ij½¬ÇÏ´Â
µ¥ÀÌÅÍÇàÀÇ ÄÁÅ×À̳ÊÀ̸ç, Ç×»ó ±× µ¥ÀÌÅÍ ¼Ò½º¿¡ Á¢¼ÓÇϰí ÀÖÁö ¾Ê¾Æµµ 󸮸¦ ½ÇÇàÇÒ ¼ö ÀÖ½À´Ï´Ù. ¶Ç, ½ºÅ©·Ñ, °»½Å, Á÷·ÄȰ¡ °¡´ÉÇÑ JavaBeansTM ÄÄÆÛ³ÍÆ®ÀÔ´Ï´Ù. CachedRowSet
¿ÀºêÁ§Æ®¿¡´Â
º¸Åë
, °á°ú ¼¼Æ®ÀÇ ÇàÀÌ Æ÷ÇԵ˴ϴٸ¸, ½ºÇÁ·¹µå½¬Æ® µî, °Ñ(Ç¥) Çü½ÄÀÇ ¸ðµç ÆÄÀÏÀÇ ÇàÀ» Æ÷ÇÔÇÒ ¼öµµ ÀÖ½À´Ï´Ù. ·¹ÆÛ·±½º ±¸ÇöÀº,ResultSet
¿ÀºêÁ§Æ®·ÎºÎÅÍÀÇ µ¥ÀÌÅÍÀÇ Ãëµæ ¹Û¿¡ ¼Æ÷Æ®ÇÕ´Ï´Ù¸¸, °³¹ßÀÚ´Â
±× ¿ÜÀÇ °Ñ(Ç¥) Çü½ÄÀÇ µ¥ÀÌÅÍ ¼Ò½º¿¡ ¾×¼¼½º ÇÒ ¼ö ÀÖµµ·Ï,SyncProvider
±¸ÇöÀ» È®ÀåÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù.
¾îÇø®ÄÉÀ̼ÇÀº,CachedRowSet
¿ÀºêÁ§Æ®³»ÀÇ µ¥ÀÌÅ͸¦ º¯°æÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ·¯ÇÑ º¯°æÀº, µ¥ÀÌÅÍ ¼Ò½º¿¡µµ ¹Ý¿µµË´Ï´Ù.
CachedRowSet
¿ÀºêÁ§Æ®´Â ¡¸¹ÌÁ¢¼ÓÀÇ¡¹Çà ¼¼Æ®ÀÔ´Ï´Ù. Áï, µ¥ÀÌÅÍ ¼Ò½º¿ÍÀÇ Á¢¼ÓÀ» Á¶±Ý ¹Û¿¡ ÀÌ¿ëÇÏÁö ¾Ê½À´Ï´Ù. CachedRowSet
¿ÀºêÁ§Æ®°¡ µ¥ÀÌÅÍ ¼Ò½º¿¡ Á¢¼ÓÇÏ´Â °ÍÀº, µ¥ÀÌÅ͸¦ Àо Àڽſ¡°Ô ÇàÀ» ÀоîµéÀÏ ¶§¿Í ºÎÇÏÀÇ µ¥ÀÌÅÍ ¼Ò½º·Î º¯°æ ³»¿ëÀ» ¹Ý¿µÇÒ ¶§ »ÓÀÔ´Ï´Ù. ±× ÀÌ¿Ü ¶§´Â
µ¥ÀÌÅÍÀÇ º¯°æÁßµµ Æ÷ÇÔÇØ, µ¥ÀÌÅÍ ¼Ò½º·ÎºÎÅÍ Àý´Ü µÇ°í ÀÖ½À´Ï´Ù. RowSet
¿ÀºêÁ§Æ®´Â
ÀÌ¿Í °°ÀÌ, µ¥ÀÌÅÍ ¼Ò½º·ÎºÎÅÍ Àý´Ü µÇ°í Àֱ⠶§¹®¿¡ ÇêÀÏÀÌ Àû°í, ±× ¿ÜÀÇ ÄÄÆÛ³ÍÆ®¿¡ °Ç³×Áֱ⠽¬¿öÁö°í ÀÖ½À´Ï´Ù. ¿¹¸¦ µé¾î, ¹ÌÁ¢¼ÓÀÇ RowSet
¿ÀºêÁ§Æ®¸¦ Á÷·ÄÈÇØ, ȸ¼± °æÀ¯·Î PDA µîÀÇ thin Ŭ¶óÀÌ¾ðÆ®¿¡ °Ç³×ÁÙ ¼ö°¡ ÀÖ½À´Ï´Ù.
CachedRowSet
¿ÀºêÁ§Æ®ÀÇ ÀÛ¼º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 ´ë·ÎÀÔ´Ï´Ù.
SyncProvider
¸¦
ÁöÁ¤)·Î ÃʱâȵǴ CachedRowSet
¿ÀºêÁ§Æ® crs2¸¦
ÀÛ¼ºÇÕ´Ï´Ù.
CachedRowSetImpl crs2 = new CachedRowSetImpl( "com.fred.providers.HighAvailabilityProvider");
CachedRowSet
¸Þ¼µå setSyncProvider
¸¦ »ç¿ëÇØ SyncProvider
¸¦
¼³Á¤ÇÑ´ÙSyncProvider
¿ÀºêÁ§Æ® (µðÆúÆ®ÀÇ »ý¼ºÀÚ
À¸·Î ÀÛ¼ºµÈ CachedRowSet
¿ÀºêÁ§Æ®)¸¦ ¸®¼ÂÆ® ÇÕ´Ï´Ù.
crs.setSyncProvider("com.fred.providers.HighAvailabilityProvider");
SyncFactory
¹× SyncProvider
¸¦ ÂüÁ¶ÇØ °üÀ̾ß
ÀÖ°í.
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); }
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
ÀÎÅÍÆäÀ̽º¿Í´Â ´Ù¸¨´Ï´Ù.
¼³Á¤
¸Þ¼µå¸¦ Æ÷ÇÔÇÑ: RowSet
¿ÀºêÁ§Æ®´Â
´Ù¸¥ ResultSet
¿ÀºêÁ§Æ®ÀÇ µ¥ÀÌÅ͸¦ ÀоîµéÀÏ ¶§, ÀÌ·¯ÇÑ ¸Þ¼µå¸¦ ³»ºÎ¿¡¼ »ç¿ëÇÕ´Ï´Ù.
Ãëµæ
¸Þ¼µåÀÇ ¼ö°¡ ÀûÀº: ÀϺÎÀÇ ResultSetMetaData
¸Þ¼µå´Â RowSet
¿ÀºêÁ§Æ®¿¡´Â Àû¿ëµÇÁö ¾Ê½À´Ï´Ù. ¿¹¸¦ µé¾î, ¿ÀÇ °ªÀÌ ±âÀÔÇØ °¡´ÉÇѰ¡ µ¶ÇØ Àü¿ëÀÎÁö¸¦ È®ÀÎÇÏ´Â ¸Þ¼µå´Â Àû¿ëµÇÁö ¾Ê½À´Ï´Ù. À̰ÍÀº,RowSet
¿ÀºêÁ§Æ®ÀÇ ¸ðµç ¿Àº, Çà ¼¼Æ®ÀÇ °»½ÅÀÌ °¡´ÉÇÑ °æ¿ì´Â ±âÀÔÇØ °¡´É, Çà ¼¼Æ®ÀÇ °»½ÅÀ» ÇÒ ¼ö ¾ø´Â °æ¿ì´Â Àо Àü¿ëÀ̱⠶§¹®ÀÔ´Ï´Ù. RowSetMetaData
¿ÀºêÁ§Æ®¸¦ µ¹·ÁÁÖ±â À§Çؼ´Â
±¸ÇöÀ¸·Î java.sql.ResultSet
¿¡ Á¤ÀÇµÈ getMetaData()
¸Þ¼µå¸¦ ¿À¹ö¶óÀ̵å(override) ÇØ,RowSetMetaData
¿ÀºêÁ§Æ®¸¦ µ¹·ÁÁÙ Çʿ䰡 ÀÖ½À´Ï´Ù.
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 °³ È®¸³ÇÏ´Â °Í¸¸À¸·Î ³¡³³´Ï´Ù.
acceptChanges
¸Þ¼µåÀÇ ½ÇÇà½Ã¿¡´Â
Çà ¼¼Æ®¿¡ÀÇ º¯°æÁ¡À» ºÎÇÏÀÇ µ¥ÀÌÅÍ ¼Ò½º¿¡ ±âÀÔÇϱ⠶§¹®¿¡
¹èÈÄ¿¡¼ CachedRowSet
¿ÀºêÁ§Æ®ÀÇ ¶óÀÌÅÍ,RowSetWriterImpl
¿ÀºêÁ§Æ®°¡ ºÒ·Á °©´Ï´Ù. ÀÌ ¶óÀÌÅͰ¡ ±¸ÇöµÇ´Â °ÍÀ¸·Î µ¥ÀÌÅÍ ¼Ò½º¿¡ÀÇ Á¢¼ÓÀÌ È®¸³µÇ¾î °»½Å Á¤º¸°¡ ±âÀÔÇØÁý´Ï´Ù. ¶óÀÌÅÍ´Â
¼½¼Ç 1
¡¸CachedRowSet
¿ÀºêÁ§Æ®ÀÇ ÀÛ¼º¡¹À¸·Î ¼³¸íÇß´ø ´ë·ÎSyncProvider
ÀÎÅÍÆäÀ̽ºÀÇ ±¸ÇöÀ» °³ÀÔ½ÃÄÑ ÀÌ¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. µðÆúÆ®ÀÇ ·¹ÆÛ·±½º ±¸Çö ÇÁ·Î¹ÙÀÌ´õ RIOptimisticProvider
´Â
¿ÀÇÁƼ¹Ì½ºÆ½ concurrent processing Á¦¾î µµ±¸
¸¦ ÀÌ¿ëÇϱâ À§ÇØ, ¶óÀÌÅ͸¦ ±¸ÇöÇϰí ÀÖ½À´Ï´Ù. Áï, Çà ¼¼Æ®°¡ µ¥ÀÌŸº£À̽º·ÎºÎÅÍ Àý´Ü µÇ°í ÀÖ´Â µ¿¾È, ºÎÇÏÀÇ µ¥ÀÌŸº£À̽º´Â ¶ô µÇÁö ¾Ê°í, µ¥ÀÌÅÍ ¼Ò½º¿¡ µ¥ÀÌÅ͸¦ ±âÀÔÇϱâ Àü¿¡ °æÇÕÀÌ ÀÖ´ÂÁö ¾ø´ÂÁöÀÇ È®ÀÎÀ» ÇϰԸ¸ µË´Ï´Ù. °æÇÕÀÌ ÀÖ´Â °æ¿ì, µ¥ÀÌÅÍ ¼Ò½º¿¡´Â ¾Æ¹«°Íµµ ±âÀÔÇØÁöÁö ¾Ê½À´Ï´Ù.
SyncProvider
Ŭ·¡½º¿¡
ÇØ Á¦°øµÇ´Â ¸®´õ/¶óÀÌÅÍÀÇ ±â´ÉÀº, Ç÷¯±× ÀÎ °¡´ÉÇϰí, µ¥ÀÌÅÍÀÇ Ãëµæ°ú °»½ÅÀÇ Ä¿½ºÅ͸¶ÀÌÁî¿¡ ÀÌ¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. ´Ù¸¥ concurrent processing Á¦¾î µµ±¸
°¡ ÇÊ¿äÇÑ °æ¿ì´Â
setSyncProvider
¸Þ¼µå¸¦ »ç¿ëÇØ, ´Ù¸¥ SyncProvider
±¸ÇöÀ» Ç÷¯±× ÀÎ ÇÒ ¼ö ÀÖ½À´Ï´Ù.
¿ÀÇÁƼ¹Ì½ºÆ½ concurrent processing Á¦¾î ·çƾÀ» »ç¿ëÇϱâ À§ÇØ,RIOptismisticProvider
´Â
ÇöÀçÀÇ °ª°ú ¿øÀÇ °ª (ÇöÀçÀÇ °ªÀÇ Á÷ÀüÀÇ °ª)ÀÇ ¾çÂÊ ¸ðµÎ¸¦ º¸°ü À¯ÁöÇÕ´Ï´Ù. RowSet
¿ÀºêÁ§Æ®³»ÀÇ µ¥ÀÌÅͰ¡ º¯°æµÇÁö ¾Ê¾Ò´ø °æ¿ì, ÇöÀçÀÇ °ª°ú ¿øÀÇ °ªÀº µ¿ÀÏ (RowSet
¿ÀºêÁ§Æ®°¡ ÃÖÃÊ·Î »ý¼ºµÇ¾úÀ» ¶§ÀÇ °ª)ÀÌ µË´Ï´Ù. ±×·¯³ª,RowSet
¿ÀºêÁ§Æ®³»ÀÇ °ªÀÌ º¯°æµÇ¾úÀ» °æ¿ì, ÇöÀçÀÇ °ª°ú ¿øÀÇ °ªÀº ÀÏÄ¡ÇÏÁö ¾Ê½À´Ï´Ù. ÀÌ ´Ü°è¿¡¼´Â
¿øÀÇ °ªÀº ÃʱâÄ¡ÀΠäÀÔ´Ï´Ù. ±× ÈÄÀÇ RowSet
¿ÀºêÁ§Æ®³»ÀÇ µ¥ÀÌÅÍÀÇ º¯°æ¿¡
ÇØ, ¿øÀÇ °ª°ú ÇöÀçÀÇ °ªÀº ÀÏÄ¡ÇÏÁö ¾Ê°Ô µË´Ï´Ù¸¸, ÀÌÀü ÇöÀçÀÇ °ªÀ̾ú´ø °ªÀÌ ¿øÀÇ °ªÀÌ µË´Ï´Ù.
¿øÀÇ °ªÀ» ÃßÀûÇÏ´Â °ÍÀ¸·Î ¶óÀÌÅÍ´Â
RowSet
¿ÀºêÁ§Æ®ÀÇ ¿øÀÇ °ª°ú µ¥ÀÌŸº£À̽º³»ÀÇ °ªÀ» ºñ±³ÇÒ ¼ö ÀÖ½À´Ï´Ù. µ¥ÀÌŸº£À̽º³»ÀÇ °ªÀÌ RowSet
¿ÀºêÁ§Æ®ÀÇ ¿øÀÇ °ª°ú ÀÏÄ¡ÇÏÁö ¾Ê´Â °æ¿ì, µ¥ÀÌŸº£À̽º³»ÀÇ °ªÀÌ º¯°æµÇ°í ÀÖ¾î °æÇÕÀÌ ¹ß»ýÇϰí ÀÖ´Â °ÍÀ»
¹ÌÇÕ´Ï´Ù. ¶óÀÌÅ͸¦ »ç¿ëÇØ °æÇÕÀÇ Ã¼Å©¸¦ ½Ç½ÃÇÏ´ÂÁö, ¾î´À Á¤µµ±îÁö üũ¸¦ ½Ç½ÃÇÏ´ÂÁö, °æÇÕÀ» ¾î¶»°Ô ó¸®ÇÒ±î´Â
¸ðµÎ ±¸Çö¿¡ µû¶ó¼ ´Ù¸¨´Ï´Ù.
BaseRowSet
Ŭ·¡½º·ÎºÎÅÍ ¸®½º³ÊÀÇ µî·ÏÀ̶ó°í º¯°æ ³»¿ëÀ» ÅëÁöÇϱâ À§ÇÑ ¸Þ¼µå¸¦ »ó¼ÓÇØ, JavaBeans À̺¥Æ® ¸ðµ¨¿¡ Âü¿© ÇÕ´Ï´Ù. CachedRowSet
¿ÀºêÁ§Æ®ÀÇ ¸®½º³Ê´Â
Çà ¼¼Æ®³»·Î º¯°æÀÌ ÀÖ¾ú´ÂÁö ¾î¶°Çß´ÂÁö¸¦ ÅëÁöµÇ´Â ÄÄÆÛ³ÍÆ®ÀÔ´Ï´Ù. ¿¹¸¦ µé¾î,CachedRowSet
¿ÀºêÁ§Æ®¿¡ Äõ¸®ÀÇ °á°ú°¡ Æ÷ÇԵǾî ÀÌ·¯ÇÑ °á°ú°¡ °Ñ(Ç¥)³ª ¸·´ë ±×·¡ÇÁ·Î¼ Ç¥½ÃµÈ´Ù°í ÇÕ´Ï´Ù. °Ñ(Ç¥)³ª ¸·´ë ±×·¡ÇÁ´Â
Çà ¼¼Æ®ÀÇ ¸®½º³Ê·Î¼ µî·ÏµÇ´Â °ÍÀ¸·Î º¯°æ ³»¿ëÀ» ¹Ý¿µÇϵµ·Ï ÀÚ½ÅÀÇ °»½ÅÀ» ½Ç½ÃÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù. °Ñ(Ç¥)³ª ¸·´ë ±×·¡ÇÁÀÇ Å¬·¡½º°¡ ¸®½º³Ê°¡ µÇ·Á¸é,
RowSetListener
ÀÎÅÍÆäÀ̽º¸¦ ±¸ÇöÇÒ Çʿ䰡 ÀÖ½À´Ï´Ù. ±× ÈÄ, À̰͵éÀ» CachedRowSet
¿ÀºêÁ§Æ®ÀÇ ¸®½º³ÊÀÇ ¸®½ºÆ®¿¡ Ãß°¡ÇÕ´Ï´Ù. ´ÙÀ½ÀÇ Äڵ带 ÂüÁ¶ÇϽʽÿÀ.
crs.addRowSetListener(table); crs.addRowSetListener(barGraph);Ä¿¼¸¦ À̵¿Çϰųª µ¥ÀÌÅ͸¦ º¯°æÇϰųª ÇÏ´Â
CachedRowSet
¸Þ¼µåµµ, µî·ÏÀ» ¸¶Ä£ ¸®½º³Ê·Î º¯°æÀ» ÅëÁöÇÕ´Ï´Ù. µû¶ó¼,crs
³»·Î º¯°æÀÌ ÀÖÀ¸¸é,table
¿Í barGraph
´Â ±× ÅëÁö¸¦ ¹Þ½À´Ï´Ù.
CachedRowSet
¿ÀºêÁ§Æ®´Â
ÁÖ·Î ¾îÇø®ÄÉÀÌ¼Ç ÄÄÆÛ³ÍÆ®°£¿¡¼ÀÇ µ¥ÀÌÅÍÀÇ ¼ö¼ö¿¡ ÀÌ¿ëµË´Ï´Ù. CachedRowSet
¿ÀºêÁ§Æ®´Â Á÷·ÄÈ °¡´ÉÇØ¼, ¿¹¸¦ µé¾î, ¼¹ö ȯ°æ¿¡¼ °¡µ¿ÁßÀÇ ¿£ÅÍÇÁ¶óÀÌÁî JavaBeans ÄÄÆÛ³ÍÆ®¿¡
ÇØ ½ÇÇàµÈ Äõ¸®ÀÇ °á°ú¸¦, Web ºê¶ó¿ìÀú·Î °¡µ¿ÁßÀÇ Å¬¶óÀÌ¾ðÆ®¿¡
³×Æ®¿öÅ© °æÀ¯·Î ¼Û½ÅÇϱâ À§Çؼ ÀÌ¿ëÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù.
¹ÌÁ¢¼ÓÀÇ CachedRowSet
¿ÀºêÁ§Æ®´Â
°°Àº µ¥ÀÌÅ͸¦ °¡Áö´Â ResultSet
¿ÀºêÁ§Æ®º¸´Ù ÄÄÆÑÆ®Çؼ, ÀÚ¿øÀÇ Á¦ÇÑÀ̳ª º¸¾È»óÀÇ ÀÌÀ¯¿¡
ÇØ JDBC µå¶óÀ̹ö¸¦ »ç¿ëÇÏ´Â °ÍÀÌ ¾î·Á¿î PDA µîÀÇ thin Ŭ¶óÀÌ¾ðÆ®¿¡ÀÇ µ¥ÀÌÅÍ ¼Û½Å¿¡ ÃÖÀûÀÔ´Ï´Ù. ÀÌ¿Í °°ÀÌ,CachedRowSet
¿ÀºêÁ§Æ®¿¡¼´Â
JDBC API¸¦
¿ÏÀüÇÏ°Ô ±¸ÇöÇÏÁö ¾Ê¾Æµµ ÇàÀ» ÃëµæÇÒ ¼ö ÀÖ½À´Ï´Ù.
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
¿ÀºêÁ§Æ®ÀÇ »çÀÌÁî´Â Á¦Çѵǰí ÀÖ½À´Ï´Ù.
CachedRowSet
Ŭ·¡½º¿¡´Â
RDB ÀÌ¿ÜÀÇ ¼Ò½º·ÎºÎÅÍ µ¥ÀÌÅ͸¦ ÃëµæÇØ, Æ÷ÇÔÇÒ ¼ö ÀÖ´Ù°í ÇÏ´Â ÀÌÁ¡ÀÌ ÀÖ½À´Ï´Ù. Çà ¼¼Æ®ÀÇ ¸®´õ¸¦ ±¸ÇöÇÏ´Â °ÍÀ¸·Î½á, ÀÓÀÇÀÇ °Ñ(Ç¥) Çü½ÄÀÇ µ¥ÀÌÅÍ ¼Ò½º (½ºÇÁ·¹µå½¬Æ®, Ç÷§ ÆÄÀÏÀ» Æ÷ÇÔÇÑ´Ù) Çà ¼¼Æ®ÀÇ µ¥ÀÌÅ͸¦ Àо, read ÇÒ ¼ö ÀÖ½À´Ï´Ù. CachedRowSet
¿ÀºêÁ§Æ®¿Í ±× ¸ÞŸµ¥ÀÌŸ´Â
¸ðµÎ Á¦·Î·ÎºÎÅÍ ÀÛ¼º °¡´ÉÇØ¼, Çà ¼¼Æ®ÀÇ ÆÑÅ丮·Î¼ ±â´ÉÇÏ´Â ÄÄÆÛ³ÍÆ®´Â
ÀÌ ±â´ÉÀ» ÀÌ¿ëÇØ, ºñ SQL µ¥ÀÌÅÍ ¼Ò½º·ÎºÎÅÍ µ¥ÀÌÅ͸¦ Æ÷ÇÔÇÑ Çà ¼¼Æ®¸¦ ÀÛ¼ºÇÒ ¼ö ÀÖ½À´Ï´Ù. ±×·¯³ª, ´ëºÎºÐÀÇ °æ¿ì,CachedRowSet
¿ÀºêÁ§Æ®´Â
JDBC API¸¦
»ç¿ëÇØ SQL µ¥ÀÌŸº£À̽º·ÎºÎÅÍ ÃëµæÇÑ µ¥ÀÌÅ͸¦ Æ÷ÇÔÇÕ´Ï´Ù.
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();
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);ÀÌ ÄÚµåÀÇ ¹ßÃ鸦 ½ÇÇàÇϸé, ¾îÇø®ÄÉÀ̼ÇÀº 1000 ÇàÀ» ¸ðµÎ ¾Ïº® Ⱦ´Ü ÇÕ´Ï´Ù¸¸, ¸Þ¸ð¸®¿¡´Â ÇÑ ¹ø¿¡ 100 Çà±îÁö ¹Û¿¡ Æ÷ÇÔµÇÁö ¾Ê½À´Ï´Ù.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 } }
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. Joinable ·ÎºÎÅÍ »ó¼ÓµÈ ¸Þ¼µå |
---|
getMatchColumnIndexes,
getMatchColumnNames,
setMatchColumn,
setMatchColumn,
setMatchColumn,
setMatchColumn,
unsetMatchColumn,
unsetMatchColumn,
unsetMatchColumn,
unsetMatchColumn |
ÇʵåÀÇ »ó¼¼ |
---|
static final boolean COMMIT_ON_ACCEPT_CHANGES
acceptChanges()
ÀÇ È£Ãâ½Ã¿¡
CachedRowSet
¿ÀºêÁ§Æ®ÀÇ SyncProvider
¿¡
º¯°æÀ» À§Å¹½Ãŵ´Ï´Ù. false ·Î ¼³Á¤µÇ¾î ÀÖ´Â °æ¿ì, º¯°æ ³»¿ëÀº,CachedRowSet
ÀΟÆä½ºÆ®¶õÀÚÅ©
¼ð ¸Þ¼µå°¡ ºÒ·Á °¥ ¶§±îÁöÀ§Å¹µÇÁö ¾Ê½À´Ï´Ù.
commit()
,
rollback()
,
Á¤¼ö ÇʵåÄ¡ ¸Þ¼µåÀÇ »ó¼¼ |
---|
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
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
void acceptChanges() throws SyncProviderException
CachedRowSet
¿ÀºêÁ§Æ®¿¡ÀÇ º¯°æÀ» ºÎÇÏÀÇ µ¥ÀÌÅÍ ¼Ò½º¿¡ »ðÀÔÇϰųª ºÎÇÏÀÇ µ¥ÀÌÅÍ
¼Ò½º·ÎºÎÅÍ »èÁ¦Çϰųª ÇÕ´Ï´Ù.
ÀÌ ¸Þ¼µå´Â
ÀÌ CachedRowSet
¿ÀºêÁ§Æ®ÀÇ ¶óÀÌÅͻ󿡼 ºÒ·Á °¡ ¹èÈÄ¿¡¼ 󸮸¦ ½Ç½ÃÇÕ´Ï´Ù. Ç¥ÁØ CachedRowSet
±¸ÇöÀº,SyncFactory
½Ì±Û ÅæÀ» »ç¿ëÇØ SyncProvider
ÀνºÅϽº¸¦ ¾ò´Â
°ÍÀ¸·Î½á,RowSetWriter
¿ÀºêÁ§Æ® (¶óÀÌÅÍ)¸¦ Á¦°øÇÕ´Ï´Ù. ¶óÀÌÅÍ´Â
ÀÌ CachedRowSet
¿ÀºêÁ§Æ®¿¡ÀÇ º¯°æÀ» µ¥ÀÌÅÍ ¼Ò½º¿¡ ¹Ý¼ÛÇÏ·Á°í ÇÕ´Ï´Ù.
acceptChanges
¸Þ¼µå°¡ Á¤»óÀûÀ¸·Î ½ÇÇàµÇ¾úÀ» °æ¿ì, µ¥ÀÌÅÍ ¼Ò½º¿¡ º¯°æÀÌ ±âÀÔÇØÁ® ÇöÀçÀÇ ÇàÀÇ °ªÀÌ ¿øÀÇ ÇàÀÇ °ªÀ¸·Î º¯°æµË´Ï´Ù.
»ç¿ëÇÏ´Â SyncProvider
±¸ÇöÀÇ µ¿±â ·¹º§¿¡
ÇØ, ¶óÀÌÅÍ´Â ¿øÀÇ °ª°ú µ¥ÀÌÅÍ ¼Ò½º³»ÀÇ °ªÀ» ºñ±³ÇØ, °æÇÕÀÇ Ã¼Å©¸¦ ½Ç½ÃÇÕ´Ï´Ù. °æÇÕÀÌ °ËÃâµÇ¾úÀ» °æ¿ì, ¿¹¸¦ µé¾î RIOptimisticProvider
±¸ÇöÀº,SyncProviderException
¸¦
Throw ÇØ, µ¥ÀÌÅÍ ¼Ò½º¿¡´Â ¾Æ¹«°Íµµ ±âÀÔÇÏÁö ¾Ê½À´Ï´Ù.
¾îÇø®ÄÉÀ̼ÇÀº,SyncProviderException
¿ÀºêÁ§Æ®¸¦ ijġ ÇØ, ÀÌ ¿ÀºêÁ§Æ®¿¡ Æ÷ÇԵǴ SyncResolver
¿ÀºêÁ§Æ®¸¦ ÃëµæÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù. SyncResolver
¿ÀºêÁ§Æ®´Â
Çà ¸¶´Ù °æÇÕÀ» À϶÷ ÇØ, ÇöÀç Á¸ÀçÇÏ´Â °æÇÕÀ» ÇØ°áÇÒ ¶§±îÁö »õ·Î¿î °æÇÕÀÌ ¹ß»ýÇÏÁö ¾Ê°Ô, µ¥ÀÌÅÍ ¼Ò½º¸¦ Àá±Þ´Ï´Ù. °Ô´Ù°¡ °³°³ÀÇ °æÇÕ
¿¡ ´ëÇØ¼, °æÇÕÀ» °Ë»çÇØ, µ¥ÀÌÅÍ ¼Ò½º¿¡ ³²±â´Â °ªÀ» ¼³Á¤ÇÏ´Â ¸Þ¼µå¸¦ Á¦°øÇÕ´Ï´Ù. ¸ðµç °æÇÕÀÌ ÇØ°áµÇ¸é, ¾îÇø®ÄÉÀ̼ÇÀº ÀçÂ÷ acceptChanges
¸Þ¼µå¸¦ È£ÃâÇØ, ÇØ°áµÈ °ªÀ» µ¥ÀÌÅÍ ¼Ò½º¿¡ ±âÀÔÇÒ Çʿ䰡 ÀÖ½À´Ï´Ù. µ¥ÀÌÅÍ ¼Ò½º³»ÀÇ ¸ðµç °ªÀÌ ¹ú½á Áö¼ÓÄ¡ÀÎ °æ¿ì,acceptChanges
¸Þ¼µå´Â ¾Æ¹«°Íµµ ½Ç½ÃÇÏÁö ¾Ê½À´Ï´Ù.
ÀϺÎÀÇ ÇÁ·Î¹ÙÀÌ´õ ±¸ÇöÀº, °æÇÕÀ» ¸·±â À§Çؼ ¶ôÀ» »ç¿ëÇÕ´Ï´Ù. ÀÌ °æ¿ì,acceptChanges
¸Þ¼µå¸¦ È£ÃâÇßÀ» ¶§, ¶óÀÌÅÍ¿¡
ÇÑ µ¥ÀÌÅÍ ¼Ò½º¿¡ÀÇ º¯°æÀÇ ±âÀÔÀº ¹Ýµå½Ã ¼º°øÇÕ´Ï´Ù. ÀÌ ¸Þ¼µå´Â
updateRow
¸Þ¼µå,insertRow
¸Þ¼µå, ¶Ç´Â deleteRow
¸Þ¼µåÀÇ È£Ãâ ÈÄ Áï½Ã È£ÃâÇÒ ¼ö ÀÖ½À´Ï´Ù¸¸, ¸ðµç º¯°æÀÌ ¿Ï·áÇØ, 1 °³¸¸ Á¢¼ÓÀ» È®¸³Çϸé ÁÁÀº »óÅ·ΠȣÃâÇÏ´Â ÆíÀÌ È¿À²ÀûÀÔ´Ï´Ù.
ÁÖ: acceptChanges()
¸Þ¼µå´Â
COMMIT_ON_ACCEPT_CHANGES
ÇÏÁö¸¸ true ·Î ¼³Á¤µÇ¾î ÀÖ´ÂÁö ¾î¶²Áö¸¦ È®ÀÎÇÕ´Ï´Ù. true
(À¸)·Î ¼³Á¤µÇ¾î ÀÖ´Â °æ¿ì, µ¿±â³»ÀÇ ¸ðµç °»½ÅÀÌ µ¥ÀÌÅÍ ¼Ò½º¿¡ À§Å¹µË´Ï´Ù. ±× ¿ÜÀÇ °æ¿ì, ¾îÇø®ÄÉÀ̼ÇÀº,commit()
¸Þ¼µå³ª rollback()
¸Þ¼µå¸¦ ¸í½ÃÀûÀ¸·Î È£ÃâÇÒÇʿ䰡 ÀÖ½À´Ï´Ù.
SQLException
- Ä«
¼ÖÀÌ »ðÀÔÇà¿¡ ÀÖ´Â °æ¿ì
SyncProviderException
- ¹è
¾Æ·¡ÀÇ µ¿±â ÇÁ·Î¹ÙÀÌ´õÀÇ ¶óÀÌÅͰ¡, µ¥ÀÌÅÍ ¼Ò½º¿¡ÀÇ °»½ÅÀÇ ±âÀÔÇØ¿¡ ½ÇÆÐÇßÀ» °æ¿ìacceptChanges(java.sql.Connection)
,
RowSetWriter
,
SyncFactory
,
SyncProvider
,
SyncProviderException
,
SyncResolver
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
¸Þ¼µå¸¦ È£ÃâÇßÀ» ¶§, ¶óÀÌÅÍ¿¡
ÇÑ µ¥ÀÌÅÍ ¼Ò½º¿¡ÀÇ º¯°æÀÇ ±âÀÔÀº ¹Ýµå½Ã ¼º°øÇÕ´Ï´Ù. ÀÌ ¸Þ¼µå´Â
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
void restoreOriginal() throws SQLException
CachedRowSet
¿ÀºêÁ§Æ®¸¦ ¿øÀÇ °ª (ÀüȸÀÇ º¯°æ ¼¼Æ®ÀÇ ÀüÀÇ °ª)
¿¡ µÇµ¹¸³´Ï´Ù. Çà ¼¼Æ®°¡ º¯°æµÇ¾î ÀÖÁö ¾ÊÀº °æ¿ì³ª, º¯°æ ¼¼Æ®°¡ 1 °³ ¹Û¿¡ ¾ø´Â °æ¿ì´Â
ÀÌ CachedRowSet
¿Àºê
Á§Æ®¿¡ ÀÐÈù °ªÀÌ ¿øÀÇ °ªÀÌ µË´Ï´Ù. ±× ¿ÜÀÇ °æ¿ì´Â
ÇöÀçÀÇ °ªÀÇ Á÷ÀüÀ¸·Î ¼³Á¤µÇ¾î ÀÖ´ø °ªÀÌ ¿øÀÇ °ªÀÌ µË´Ï´Ù.
ÀÌ ¸Þ¼µå°¡ ºÒ·Á °¬À» °æ¿ì,CachedRowSet
±¸ÇöÀº, ÇöÀçÀÇ Çà ¼¼Æ® ÀνºÅϽº¿¡ÀÇ ¸ðµç °»½Å, »ðÀÔ ¹× »èÁ¦¸¦ ÀÌÀüÀÇ °ªÀ¸·Î ¿Å°Ü³õÀ» Çʿ䰡 ÀÖ½À´Ï´Ù. °Ô´Ù°¡ Ä¿¼¸¦ ÃÖÃÊÀÇ Çà¿¡ µÇµ¹·Á,rowSetChanged
À̺¥Æ®¸¦ Æ®¸®°ÅÇØ, µî·ÏÀ» ¸¶Ä£ ¸ðµç ¸®½º³Ê¿¡°Ô ÅëÁö¸¦ º¸³¾ Çʿ䰡 ÀÖ½À´Ï´Ù.
SQLException
- ¿Í
ÀÇ CachedRowSet
¿ÀºêÁ§Æ®ÀÇ ÇöÀçÀÇ °ªÀ» ÀÌÀüÀÇ °ª¿¡ µÇµ¹¸®°í ÀÖ´Â µ¿¾È¿¡ ¿¡·¯°¡ ¹ß»ýÇßÀ» °æ¿ìRowSetListener.rowSetChanged(javax.sql.RowSetEvent)
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()
void undoDelete() throws SQLException
°Ô´Ù°¡ º¹¼öÀÇ ÇàÀÇ »èÁ¦¸¦ Ãë¼ÒÇÒ ¼öµµ ÀÖ½À´Ï´Ù. ÀÌ °æ¿ì´Â ´ÙÀ½°ú °°Àº Ä¿¼ À§Ä¡ Á¦¾î ¸Þ¼µå¸¦ »ç¿ëÇØ, Ä¿¼ÀÇ À§Ä¡¸¦ Á¶Á¤ÇÕ´Ï´Ù.
CachedRowSet.absolute
CachedRowSet.first
CachedRowSet.last
SQLException
- (1)
ÇöÀçÀÇ ÇàÀÌ »èÁ¦µÇ¾î ÀÖÁö ¾ÊÀº °æ¿ì, (2) Ä¿¼°¡ »ðÀÔÇà, ÃÖÃÊÀÇ ÇàÀÇ Àü, ¶Ç´Â ¸Ç ¸¶Áö¸· ÁÙÀÇ µÚ¿¡ ÀÖ´Â °æ¿ìundoInsert()
,
ResultSet.cancelRowUpdates()
void undoInsert() throws SQLException
°Ô´Ù°¡ º¹¼öÀÇ ÇàÀÇ »ðÀÔÀ» Ãë¼ÒÇÒ ¼öµµ ÀÖ½À´Ï´Ù. ÀÌ °æ¿ì´Â ´ÙÀ½°ú °°Àº Ä¿¼ À§Ä¡ Á¦¾î ¸Þ¼µå¸¦ »ç¿ëÇØ, Ä¿¼ÀÇ À§Ä¡¸¦ Á¶Á¤ÇÕ´Ï´Ù.
CachedRowSet.absolute
CachedRowSet.first
CachedRowSet.last
SQLException
- (1)
ÇöÀçÀÇ ÇàÀÌ »ðÀԵǾî ÀÖÁö ¾ÊÀº °æ¿ì, (2) Ä¿¼°¡ ÃÖÃÊÀÇ ÇàÀÇ Àü, ¸Ç ¸¶Áö¸· ÁÙÀÇ µÚ, ¶Ç´Â »ðÀÔÇà¿¡ ÀÖ´Â °æ¿ìundoDelete()
,
ResultSet.cancelRowUpdates()
void undoUpdate() throws SQLException
acceptChanges
)
¶Ç´Â »ý¼ºÀÇ Á÷Àü »óÅ¿¡ µ¹¾Æ¿Àµµ·Ï(µíÀÌ), ¸ðµç ¿ÀÇ °»½ÅÀ» ¹ÙÅÁÀ¸·Î µÇµ¹¸³´Ï´Ù. ÀÌ ¸Þ¼µå´Â
»ðÀÔÇàÀÇ °»½ÅÁß¿¡µµ È£ÃâÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù.
undoUpdate
SQLException
- Ä¿¼°¡, ÀÌ CachedRowSet
¿ÀºêÁ§Æ®ÀÇ ÃÖÃÊÀÇ ÇàÀÇ Àü ¶Ç´Â ¸¶Áö¸· ÇàÀÇ µÚ¿¡ ÀÖ´Â °æ¿ìundoDelete()
,
undoInsert()
,
ResultSet.cancelRowUpdates()
boolean columnUpdated(int idx) throws SQLException
CachedRowSet
¿ÀºêÁ§Æ®ÀÇ ÇöÀçÀÇ ÀºÇà³»ÀÇ ÁöÁ¤µÈ ¿ÀÌ °»½ÅµÇ¾ú´ÂÁö ¾î¶°Çß´ÂÁö¸¦ ³ªÅ¸³À´Ï´Ù.
idx
- °»½ÅÀÇ Ã¼
Äí¸¦ ½Ç½ÃÇÏ´Â ¿À» ³ªÅ¸³»´Â int
true
, ±×·¸Áö ¾ÊÀº °æ¿ì´Â false
SQLException
- Ä«
¼ÖÀÌ »ðÀÔÇà, ÃÖÃÊÀÇ ÇàÀÇ Àü, ¶Ç´Â ¸Ç ¸¶Áö¸· ÁÙÀÇ µÚ¿¡ ÀÖ´Â °æ¿ìDatabaseMetaData.updatesAreDetected(int)
boolean columnUpdated(String columnName) throws SQLException
CachedRowSet
¿ÀºêÁ§Æ®ÀÇ ÇöÀçÀÇ ÀºÇà³»ÀÇ ÁöÁ¤µÈ ¿ÀÌ °»½ÅµÇ¾ú´ÂÁö ¾î¶°Çß´ÂÁö¸¦ ³ªÅ¸³À´Ï´Ù.
columnName
- °»
½ÅÀÇ Ã¼Å©¸¦ ½Ç½ÃÇÏ´Â ¿ÀÇ À̸§À» ÁöÁ¤ÇÏ´Â String
¿ÀºêÁ§Æ®
true
, ±×·¸Áö ¾ÊÀº °æ¿ì´Â false
SQLException
- Ä«
¼ÖÀÌ »ðÀÔÇà, ÃÖÃÊÀÇ ÇàÀÇ Àü, ¶Ç´Â ¸Ç ¸¶Áö¸· ÁÙÀÇ µÚ¿¡ ÀÖ´Â °æ¿ìDatabaseMetaData.updatesAreDetected(int)
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)
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)
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)
SyncProvider getSyncProvider() throws SQLException
CachedRowSet
¿ÀºêÁ§Æ®ÀÇ SyncProvider
±¸ÇöÀ» ÃëµæÇÕ´Ï´Ù.
Çà ¼¼Æ®´Â
ÀÌ ¸Þ¼µå¸¦ ³»ºÎ¿¡¼ »ç¿ëÇØ, Çà ¼¼Æ®¿Í µ¥ÀÌÅÍ ¼Ò½º°£ÀÇ Àо ¶Ç´Â ±âÀÔÇØ Á¶ÀÛÀ» Æ®¸®°ÅÇÕ´Ï´Ù. ¿¹¸¦ µé¾î, Çà ¼¼Æ®´Â
µ¥ÀÌÅ͸¦ °Ý
³³ Çϱâ À§ÇÑ,SyncProvider
·ÎºÎÅÍ Çà ¼¼Æ® ¸®´õ (RowSetReader
¿ÀºêÁ¦Å©
Æ®)ÀÇ ÇÚµéÀ» ÃëµæÇØ¾ß ÇÏ´Â °æ¿ì°¡ ÀÖ½À´Ï´Ù.
RowSetReader rowsetReader = null;rowsetReader°¡ Çà ¼¼Æ® ±¸Çö³»ÀÇ private ÀÎ ¾×¼¼½º °¡´É ÇʵåÀÌ´Ù°í Çϸé, ¾îÇø®ÄÉÀ̼ÇÀÌ
SyncProvider provider =
SyncFactory.getInstance("javax.sql.rowset.provider.RIOptimisticProvider");
if (provider instanceof RIOptimisticProvider) {
rowsetReader = provider.getRowSetReader();
}
execute
¸Þ
¼Úµå¸¦ È£ÃâÇϸé, ÀÌ ¸Þ¼µå´Â ¸®´õÀÇ readData
¸Þ¼µå¸¦ È£ÃâÇØ,RowSet
¿À
ºêÁ¦Å©Æ®¿¡ µ¥ÀÌÅ͸¦ Æ÷ÇÔÇÕ´Ï´Ù.
rowsetReader.readData((RowSetInternal) this);
°Ô´Ù°¡ ¾îÇø®ÄÉÀ̼ÇÀº ÀÌ ¸Þ¼µå·ÎºÎÅÍ µ¹·ÁÁÖ°íÁö´Â SyncProvider
¿ÀºêÁ§Æ®¸¦ »ç¿ëÇØ, º¥´õ, ¹öÁ¯, ÇÁ·Î¹ÙÀÌ´õ ID, µ¿±âÀÇ ±×·¹À̵å, ÇöÀç ¼³Á¤µÇ¾î ÀÖ´Â ¶ôµîÀÇ SyncProvider
¿ÀºêÁ§Æ®¿¡ °üÇÑ Á¤º¸¸¦ µ¹·ÁÁÖ´Â ¸Þ¼µå¸¦ È£ÃâÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù.
SyncProvider
¿ÀºêÁ§Æ®, ¶Ç´Â ¼³Á¤µÇ¾î ÀÖÁö ¾ÊÀº °æ¿ì´Â µðÆúÆ®ÀÇ ÇÁ·Î¹ÙÀÌ´õ
SQLException
- SyncProvider
¿ÀºêÁ§Æ®¸¦ µ¹·ÁÁÙ ¶§ ¿¡·¯°¡ ¹ß»ýÇßÀ» °æ¿ìsetSyncProvider(java.lang.String)
void setSyncProvider(String provider) throws SQLException
CachedRowSet
¿ÀºêÁ§Æ®ÀÇ SyncProvider
¿ÀºêÁ§Æ®·Î ÁöÁ¤
ÇÑ ¿ÀºêÁ§Æ®¸¦ ¼³Á¤ÇÕ´Ï´Ù. ÀÌ ¸Þ¼µå·ÎSyncProvider
¿ÀºêÁ§Æ®¸¦ ¸®¼ÂÆ® ÇÒ ¼ö ÀÖ½À´Ï´Ù.
CachedRowSet
±¸ÇöÀº Ç×»ó ÀÌ¿ë °¡´ÉÇÑ SyncProvider
µµ±¸
·Î ÀνºÅϽºÈÇÒ Çʿ䰡 ÀÖ½À´Ï´Ù¸¸,SyncProvider
¿ÀºêÁ§Æ®ÀÇ ¸®¼ÂÆ®°¡ ¹Ù¶÷Á÷ÇÑ, ¶Ç´Â ÇÊ¿äÇÏ°Ô µÇ´Â °æ¿ìµµ ÀÖ½À´Ï´Ù. ¿¹¸¦ µé¾î, ¾îÇø®ÄÉÀ̼ÇÀ¸·Î ´çºÐ°£Àº µðÆúÆ®ÀÇ SyncProvider
¿ÀºêÁ§Æ®¸¦ »ç¿ëÇØ µÎ¾î, ³ªÁß¿¡ ÃÖ±Ù ÀÌ¿ëÇÒ ¼ö ÀÖ°Ô µÈ, º¸´Ù ÇÊ¿äÇÏ°Ô ÀÌ·ç¾îÁö´Â ÇÁ·Î¹ÙÀÌ´õ¸¦ ¼±ÅÃÇØ »ç¿ëÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù.
SyncProvider
¿ÀºêÁ§Æ®¸¦ ¸®¼ÂÆ® Çϸé,RowSet
¿ÀºêÁ§Æ®´Â SyncFactory
·ÎºÎÅÍ »õ·Î¿î SyncProvider
±¸ÇöÀ» ¿ä±¸ÇÕ´Ï´Ù. À̰Ϳ¡
ÇØ, ÀÌÀüÀÇ ¸ðµç Á¢¼Ó°ú ¿øÀÇ µ¥ÀÌÅÍ ¼Ò½º¿ÍÀÇ °ü°è¸¦ ¸®¼ÂÆ® ÇØ, ¹ÌÁ¢¼ÓÀÇ Çà ¼¼Æ®ÀÇ µ¿±â µ¿ÀÛÀ» Å«ÆøÀ¸·Î º¯°æÀÏ??
.
provider
- SyncProvider
±¸ÇöÀÇ ¿ÏÀü ¼ö½Ä Ŭ·¡½º¸íÀ» ÁöÁ¤ÇÏ´Â String
¿ÀºêÁ§Æ®
SQLException
- SyncProvider
±¸ÇöÀÇ ¸®¼ÂÆ®Áß¿¡ ¿¡·¯°¡ ¹ß»ýÇßÀ» °æ¿ìgetSyncProvider()
int size()
CachedRowSet
¿ÀºêÁ§Æ®³»ÀÇ Çà¼ö¸¦ µ¹·ÁÁÝ´Ï´Ù.
void setMetaData(RowSetMetaData md) throws SQLException
RowSetMetaData
¿ÀºêÁ§Æ®¸¦ »ç¿ëÇØ,CachedRowSet
¿Àºê
Á§Æ®ÀÇ ¸ÞŸµ¥ÀÌŸ¸¦ ¼³Á¤ÇÕ´Ï´Ù. RowSetReader
¿ÀºêÁ§Æ®´Â
Çà ¼¼Æ®ÀÇ ÄÁÅÙÃ÷¸¦ Àо ¶§¿¡
RowSetMetaData
¿À
ºêÁ¦Å©Æ®¸¦ »ý¼ºÇØ,RowSetMetaData
±¸Çö³»ÀÇ ¸Þ¼µå¸¦ »ç¿ëÇØ À̰ÍÀ» ÃʱâÈÇÕ´Ï´Ù. ·¹ÆÛ·±½º ±¸Çö¿¡¼´Â RowSetMetaDataImpl
Äí
¶ó½º¸¦ »ç¿ëÇÕ´Ï´Ù. ¸®´õ°¡ Çà ¼¼Æ®ÀÇ ÄÁÅÙÃ÷ÀÇ µ¶Çظ¦ ¿Ï·áÇϸé, ÀÌ ¸Þ¼µå°¡ ³»ºÎ¿¡¼ ºÒ·Á °¡RowSetMetaData
¿À
ºêÁ¦Å©Æ®°¡ Çà ¼¼Æ®¿¡°Ô °Ç³×Áý´Ï´Ù.
md
- ÀÌ CachedRowSet
¿ÀºêÁ§Æ®ÀÇ ¿¿¡ °üÇÑ ¸ÞŸµ¥ÀÌŸ¸¦ Æ÷ÇÔÇÏ´Â RowSetMetaData
¿ÀºêÁ§Æ®
SQLException
- Çà
¼¼Æ®¿¡ ¹«È¿ÀÎ ¸ÞŸµ¥ÀÌŸ°¡ Á¦°øµÇ¾úÀ» °æ¿ìResultSet getOriginal() throws SQLException
CachedRowSet
¿ÀºêÁ§Æ®ÀÇ ¿øÀÇ °ªÀ» Æ÷ÇÔÇÏ´Â ResultSet
¿ÀºêÁ¦
ÄíÆ®¸¦ µ¹·ÁÁÝ´Ï´Ù.
ResultSet
¿ÀºêÁ§Æ®ÀÇ Ä¿¼´Â
¼±µÎÇàÀÇ Àü¿¡ µÑ Çʿ䰡 ÀÖ½À´Ï´Ù. °Ô´Ù°¡ µ¹·ÁÁÖ°íÁö´Â ResultSet
¿ÀºêÁ§Æ®´Â ´ÙÀ½ÀÇ ÇÁ·ÎÆÛƼ¸¦ °¡Áú Çʿ䰡 ÀÖ½À´Ï´Ù.
RowSet
¿ÀºêÁ§Æ®ÀÇ ¿øÀÇ °ªÀº, ºÎÇÏÀÇ µ¥ÀÌÅÍ ¼Ò½º¿Í ¸¶Áö¸· µ¿±âÀÇ ¾Õ¿¡ Æ÷ÇԵǰí ÀÖ´ø °ªÀÔ´Ï´Ù. µ¿±â°¡ ¾ø¾ú´ø °æ¿ì, ¿øÀÇ °ªÀº,RowSet
¿ÀºêÁ§Æ®¿¡ Æ÷ÇÔµÈ °ªÀÌ µË´Ï´Ù. ÀÌ ¸Þ¼µå´Â
¾îÇø®ÄÉÀ̼ÇÀÌ acceptChanges
¸Þ¼µå¸¦ È£ÃâÇØ,SyncProvider
¿ÀºêÁ§Æ®°¡ °æÇÕÀ» È®ÀÎÇϵµ·Ï ±¸ÇöµÇ°í ÀÖ´Â °æ¿ì¿¡
³»ºÎ¿¡¼ ºÒ·Á °©´Ï´Ù. ÀÌ °æ¿ì, ¶óÀÌÅÍ´Â ¿øÀÇ °ª°ú µ¥ÀÌÅÍ ¼Ò½º³»ÀÇ ÇöÀçÀÇ °ªÀ» ºñ±³ÇØ, °æÇÕ
¸¦ È®ÀÎÇÕ´Ï´Ù.
CachedRowSet
¿ÀºêÁ§Æ®ÀÇ ¿øÀÇ °ªÀ» Æ÷ÇÔÇÏ´Â ResultSet
¿ÀºêÁ§Æ®
SQLException
- ResultSet
¿ÀºêÁ§Æ®ÀÇ »ý¼º½Ã¿¡ ¿¡·¯°¡ ¹ß»ýÇßÀ» °æ¿ìResultSet getOriginalRow() throws SQLException
CachedRowSet
¿ÀºêÁ§Æ®ÀÇ ÇöÀçÀÇ ÇุÀÇ ¿øÀÇ °ªÀ» Æ÷ÇÔÇÏ´Â ResultSet
¿À
ºêÁ¦Å©Æ®¸¦ µ¹·ÁÁÝ´Ï´Ù.
ResultSet
¿ÀºêÁ§Æ®ÀÇ Ä¿¼´Â
¼±µÎÇàÀÇ Àü¿¡ µÑ Çʿ䰡 ÀÖ½À´Ï´Ù. °Ô´Ù°¡ µ¹·ÁÁÖ°íÁö´Â ResultSet
¿ÀºêÁ§Æ®´Â ´ÙÀ½ÀÇ ÇÁ·ÎÆÛƼ¸¦ °¡Áú Çʿ䰡 ÀÖ½À´Ï´Ù.
SQLException
- ÇöÀçÇàÀÌ Á¸ÀçÇÏÁö ¾Ê´Â °æ¿ìsetOriginalRow()
void setOriginalRow() throws SQLException
CachedRowSet
¿ÀºêÁ§Æ®ÀÇ ÇöÀçÀÇ ÇàÀ» ¿øÀÇ ÇàÀ¸·Î¼ ¼³Á¤ÇÕ´Ï´Ù.
ÀÌ ¸Þ¼µå´Â ÇöÀçÀÇ ÇàÀÇ º¯°æµÈ °ªÀÌ µ¥ÀÌÅÍ ¼Ò½º¿Í µ¿±â µÈ µÚ¿¡ ³»ºÎ¿¡¼ ºÒ·Á °©´Ï´Ù. ÇöÀçÀÇ ÇàÀº, »ðÀÔ, »èÁ¦, ¶Ç´Â °»½ÅÀ¸·Î¼ ÅÂ±× ºÙÀ̰í ÇØ (ÀÌ)¶ó°í À־ ¾ÈµË´Ï´Ù.
setOriginalRow
È£ÃâÀº Ãë¼ÒÇÒ ¼ö ¾ø½À´Ï´Ù.
SQLException
- ÇöÀçÇàÀÌ Á¸ÀçÇÏÁö ¾Ê´Â °æ¿ì, ¶Ç´Â ¿øÀÇ ÇàÀÇ ÄÁÅÙÃ÷ÀÇ ¸®¼ÂÆ®½Ã¿¡ ¿¡·¯°¡ ¹ß»ýÇßÀ» °æ¿ìgetOriginalRow()
String getTableName() throws SQLException
CachedRowSet
¿ÀºêÁ§Æ®ÀÇ ÀÛ¼º¿¡ »ç¿ëµÈ ¿ÀºêÁ§Æ® (Å×À̺í)
ÀÇ ½Äº°ÀÚ¸¦ µ¹·ÁÁÝ´Ï´Ù. ÀÌ À̸§Àº, ¹Ýº¹ ¼³Á¤ÇÒ ¼ö ÀÖ½À´Ï´Ù. À̸§ÀÇ ¼³Á¤ ȸ¼ö³ª, Ç¥ÁØ ±¸ÇöÀÌ ÀÌÀüÀÇ Å×À̺í¸íÀ» ÃßÀûÇÒ Çʿ䰡 ÀÖÀ»Áö ¾î¶³Áö¿¡ ´ëÇØ¼´Â
»ç¾ç¿¡
¹ãÁ¦ÇÑÀº ¾ø½À´Ï´Ù.
CachedRowSet
¿ÀºêÁ§Æ®ÀÇ µ¥ÀÌÅÍÀÇ ¼Ò½ºÀÎ Å×À̺í¸íÀ» ÁöÁ¤ÇÏ´Â String
¿ÀºêÁ§Æ®, ¶Ç´Â Å×À̺íÀÇ À̸§À» ¼³Á¤Çϰí ÀÖÁö ¾Ê´Â °æ¿ì´Â null
SQLException
- Å×À̺í¸íÀ» µ¹·ÁÁÙ ¶§ ¿¡·¯°¡ ¹ß»ýÇßÀ» °æ¿ìResultSetMetaData.getTableName(int)
void setTableName(String tabName) throws SQLException
CachedRowSet
¿ÀºêÁ§Æ®ÀÇ ÆÄ»ý¿øÀÇ Å×À̺íÀÇ ½Äº°ÀÚ¸¦, ÁöÁ¤ÀÇ Å×À̺í¸íÀ¸·Î ¼³Á¤ÇÕ´Ï´Ù. ¶óÀÌÅÍ´Â
µ¿
±â½Ã¿¡
ÀÌ À̸§À» »ç¿ëÇØ, µ¥ÀÌÅÍ ¼Ò½ºÀÇ °ª°ú CachedRowSet
¿ÀºêÁ§Æ®ÀÇ °ªÀ» ºñ±³ÇÒ ¶§¿¡ »ç¿ëÇÏ´Â Å×ÀÌ
ºÒÀ» ÆÇ´ÜÇÕ´Ï´Ù. Å×À̺íÀÇ ½Äº°ÀÚ´Â
ÀÌ CachedRowSet
¿ÀºêÁ§Æ®·ÎºÎÅÍ º¯°æµÈ °ªÀ» ±âÀÔÇÏ´Â Àå¼Òµµ °¡¸®ÄÑ
.
ÀÌ CachedRowSet
¿ÀºêÁ§Æ®ÀÇ ±¸Çö¿¡¼´Â
³»ºÎÀûÀ¸·Î RowSetMetaDataImpl
¿ÀºêÁ§Æ®¿¡ À̸§À» Ãëµæ½Ãų ¼ö°¡ ÀÖ½À´Ï´Ù.
tabName
- ÀÌ
CachedRowSet
¿ÀºêÁ§Æ®°¡ ÆÄ»ýÇÑ Å×À̺íÀ» ½Äº°ÇÏ´Â String
¿ÀºêÁ§Æ®. null
´Â
ºÒ°¡, ÇÏ´ÃÀÇ Ä³¸¯ÅÍ ¶óÀÎÀº °¡´É
SQLException
- Å×ÀÌ
ºÒÀÇ À̸§ºÎ·Î ¿¡·¯°¡ ¹ß»ýÇßÀ» °æ¿ì, ¶Ç´Â tabName °¡ null
°æ¿ìRowSetMetaData.setTableName(int, java.lang.String)
,
RowSetWriter
,
SyncProvider
int[] getKeyColumns() throws SQLException
CachedRowSet
¿ÀºêÁ§Æ®ÀÇ ÇàÀ» ÀÏÀÇ¿¡ ½Äº°Çϴ Ű¸¦ ±¸¼ºÇÏ´Â ¿À» ³ªÅ¸³»´Â 1
°³ÀÌ»óÀÇ ¿¹øÈ£¸¦ Æ÷ÇÔÇÏ´Â ¹è¿À» µ¹·ÁÁÝ´Ï´Ù.
CachedRowSet
¿ÀºêÁ§Æ®ÀÇ ÇàÀÇ ÁÖ۸¦ ±¸¼ºÇÏ´Â ¿À» ³ªÅ¸³»´Â ¿¹øÈ£¸¦ Æ÷ÇÔÇÏ´Â ¹è¿. ÁÖ۸¦ Ç¥ÇöÇÏ´Â ¿ÀÌ ¾ø´Â °æ¿ì, ÀÌ ¹è¿Àº ºñ¿î´Ù
SQLException
- ¿Í
ÀÇ CachedRowSet
¿ÀºêÁ§Æ®°¡ ÇÏ´ÃÀÇ °æ¿ìsetKeyColumns(int[])
,
Joinable.getMatchColumnIndexes()
,
Joinable.getMatchColumnNames()
void setKeyColumns(int[] keys) throws SQLException
CachedRowSet
¿ÀºêÁ§Æ®ÀÇ keyCols
Çʵ忡
ÁöÁ¤µÈ ·Ä¹ø
È£ÀÇ ¹è¿ (ÀÌ CachedRowSet
¿ÀºêÁ§Æ®³»ÀÇ ÇàÀ» ÀÏÀÇ¿¡ ½Äº°Çϴ Ű¸¦ ±¸¼ºÇÑ´Ù)À» ¼³Á¤ÇÕ´Ï´Ù.
CachedRowSet
¿ÀºêÁ§Æ®°¡ JoinRowSet
¿ÀºêÁ§Æ®¿¡ Æ÷ÇԵǴ °æ¿ì, Ű¿·Î¼ ÁöÁ¤µÈ ¿ÀÌ ÀÏÄ¡¿ÀÌ µÇ¸é, ÀÌ ¸Þ¼µå·Î Á¤ÀÇµÈ Å°¿Í »ý¼ºµÈ Á¦¾àÀº º¸°ü À¯ÁöµË´Ï´Ù.
keys
- ÀÌ CachedRowSet
¿ÀºêÁ§Æ®ÀÇ ÁÖ۸¦ ±¸¼ºÇÏ´Â ¿À» ³ªÅ¸³»´Â int
¹è¿. ¹è¿³»ÀÇ °¢ ¿ä¼Ò´Â
0
º¸´Ù Å©°í, ÇÑÆí ÀÌ Çà ¼¼Æ®³»ÀÇ ·Ä¼öÀÌÇÏÀÏ Çʿ䰡 ÀÖ´Ù
SQLException
- ÁöÁ¤µÈ ¹è¿³»ÀÇ ¹øÈ£°¡ ÀÌ Çà ¼¼Æ®·Î À¯È¿ÇÏÁö ¾ÊÀº °æ¿ìgetKeyColumns()
,
Joinable.setMatchColumn(String)
,
Joinable.setMatchColumn(int)
RowSet createShared() throws SQLException
CachedRowSet
¿ÀºêÁ§Æ®¿Í °°Àº µ¥ÀÌÅÍ¿¡
ÇØ, ¹é¾÷ µÈ »õ·Î¿î RowSet
¿À
ºêÁ¦Å©Æ®¸¦ µ¹·ÁÁÝ´Ï´Ù. ½ÇÁ¦·Î ¾çÂÊ ¸ðµÎÀÇ CachedRowSet
¿ÀºêÁ§Æ®´Â °°Àº µ¥ÀÌÅÍ»ó¿¡ Ä¿¼¸¦ °¡Áý´Ï´Ù. ±× °á
°ú, ¿øÀÇ ¿ÀºêÁ§Æ®¿¡
ÇÑ º¯°æÀÌ, ±× ¸ðµç Áߺ¹¿¡ °¡½ÃÀÎ °Í°ú °°°Ô, Áߺ¹¿¡
ÇÑ ¸ðµç º¯°æÀÌ, ¿øÀÇ ¿ÀºêÁ§Æ®¿Í ±× ¿ÜÀÇ ¸ðµç Áߺ¹¿¡ °¡´É
½Ã°¡ µË´Ï´Ù. Áߺ¹À¸·Î ºÎÇÏÀÇ µ¥ÀÌÅ͸¦ º¯°æÇÏ´Â ¸Þ¼µå¸¦ È£ÃâÇϸé, ±× ¸Þ¼µå´Â
¿øÀÇ CachedRowSet
¿Àºê
Á§Æ®¿¡
ÇØ ºÒ·Á °¡´Â °æ¿ì¿Í ¿ÏÀüÈ÷ ¶È°°ÀÌ, µî·ÏµÈ ¸ðµç ¸®½º³Ê¿¡°Ô ÅëÁöÇÕ´Ï´Ù.
°Ô´Ù°¡ ÀÌ ¸Þ¼µå¿¡
ÇØ ÀÛ¼ºµÇ´Â RowSet
¿ÀºêÁ§Æ®´Â ÀÌ CachedRowSet
¿ÀºêÁ§Æ®¿Í °°Àº ÇÁ·ÎÆÛƼ¸¦ °¡Áý´Ï´Ù. ¿¹¸¦ µé¾î, ÀÌ CachedRowSet
¿ÀºêÁ§Æ®°¡ Àо Àü¿ëÀÇ °æ¿ì, ±× ¸ðµç Áߺ¹µµ Àо Àü¿ëÀÌ µË´Ï´Ù. À̰ÍÀ» °»½Å °¡´ÉÇÏ°Ô º¯°æÇϸé, Áߺ¹µµ °»½Å °¡´ÉÇÏ°Ô µË´Ï´Ù.
ÁÖ: º¹¼öÀÇ thread°¡ createShared()
¸Þ¼µå¿¡
ÇØ ÀÛ¼ºµÈ RowSet
¿ÀºêÁ§Æ®¿¡ ¾×¼¼½º ÇÏ´Â °æ¿ì, °øÀ¯ µ¥ÀÌÅÍÀÇ Á¤ÇÕ¼ºÀ» È®º¸Çϱâ À§ÇØ, ´ÙÀ½ÀÇ µ¿ÀÛÀÌ ÁöÁ¤µË´Ï´Ù. ¸ðµç °øÀ¯µÈ RowSet
¿ÀºêÁ§Æ®ÀÇ µ¶ÇØ¿Í ±âÀÔÀº, °¢ ¿ÀºêÁ§Æ®¿Í ºÎÇÏÀÇ ´ÜÀÏÀÇ °Ñ(Ç¥) ±¸Á¶°£¿¡ ¼ø¼´ë·Î ÇàÇØÁú Çʿ䰡 ÀÖ½À´Ï´Ù.
CachedRowSet
¿ÀºêÁ§Æ®¿Í °°Àº ÇÁ·ÎÆÛƼ¸¦ °¡Á®, °°Àº µ¥ÀÌÅÍ»óÀÇ Ä¿¼¸¦ °¡Áö´Â »õ·Î¿î °øÀ¯ RowSet
¿ÀºêÁ§Æ®
SQLException
- ¿¡·¯°¡ ¹ß»ýÇßÀ» °æ¿ì, ¶Ç´Â ºÎÇÏÀÇ Ç÷§Æû¿¡¼ º¹Á¦°¡ ¼Æ÷Æ®µÇ¾î ÀÖÁö ¾ÊÀº °æ¿ìRowSetEvent
,
RowSetListener
CachedRowSet createCopy() throws SQLException
CachedRowSet
¿ÀºêÁ§Æ®ÀÇ µ¥ÀÌÅÍÀÇ µö Ä«ÇÇÀÎ RowSet
¿À
ºêÁ¦Å©Æ®¸¦ ÀÛ¼ºÇÕ´Ï´Ù. createShared
È£Ãâ¿¡
ÇØ »ý¼ºµÈ RowSet
¿À
ºêÁ¦Å©Æ®ÀÇ °æ¿ì¿Í´Â ´Þ¶ó, ¿øÀÇ RowSet
¿ÀºêÁ§Æ®ÀÇ Ä«ÇÇÀÇ °»½ÅÀÌ, ¿øÀÇ RowSet
¿À
ºêÁ¦Å©Æ®¿¡ °¡½Ã¿© µÇÁö ¾Ê½À´Ï´Ù. ¶Ç, ¿øÀÇ RowSet
¿¡ µî·ÏµÈ À̺¥Æ® ¸®½º³ÊÀÇ ½ºÄÚÇÁ¿¡
»õ·Î¿î RowSet
ÄÚ
Çǰ¡ Æ÷ÇԵǾî ÀÖ¾î µÇÁö ¾Ê½À´Ï´Ù. ¶Ç, È®¸³ ³¡³ Á¦¾à Á¦ÇÑÀº º¸°ü À¯ÁöµÇÁö ¾ÊÀ¸¸é ¾ÈµË´Ï´Ù.
RowSet
¿ÀºêÁ§Æ®. CachedRowSet
¿ÀºêÁ§Æ®ÀÇ µö Ä«ÇÇÀ̸ç, ÀÌ CachedRowSet
(À¸)·ÎºÎÅÍ´Â ¿ÏÀüÇÏ°Ô µ¶¸³Çϰí ÀÖ´Ù
SQLException
- ÀÌ CachedRowSet
¿ÀºêÁ§Æ®ÀÇ Ä«ÇÇÀÇ »ý¼º½Ã¿¡ ¿¡·¯°¡ ¹ß»ýÇßÀ» °æ¿ìcreateShared()
,
createCopySchema()
,
createCopyNoConstraints()
,
RowSetEvent
,
RowSetListener
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
CachedRowSet createCopyNoConstraints() throws SQLException
CachedRowSet
¿ÀºêÁ§Æ®ÀÇ µö Ä«ÇÇÀÌÁö¸¸, µ¶¸³Çϰí ÀÖ´Â CachedRowSet
¿À
ºêÁ¦Å©Æ®¸¦ ÀÛ¼ºÇÕ´Ï´Ù. createShared
¸Þ¼µå È£Ãâ¿¡
ÇØ »ý¼ºµÈ RowSet
¿À
ºêÁ¦Å©Æ®ÀÇ °æ¿ì¿Í´Â ´Þ¶ó, ÀÌ CachedRowSet
¿ÀºêÁ§Æ®ÀÇ Ä«ÇÇ¿¡ ´ëÇØ¼ ÇàÇØÁø º¯°æÀº °¡½Ã¿©
¼±. °Ô´Ù°¡ ÀÌ CachedRowSet
¿ÀºêÁ§Æ®¿¡
ÇØ µî·ÏµÈ ¸ðµç À̺¥Æ® ¸®½º³ÊÀÇ ½ºÄÚÇÁ¿¡ ½Å
ÇØ ÀÖ°í RowSet
¿ÀºêÁ§Æ®°¡ Æ÷ÇԵǾî ÀÖ¾î µÇÁö ¾Ê½À´Ï´Ù. ¶Ç, ÀÌ CachedRowSet
¿À
ºêÁ¦Å©Æ®¿¡ ´ëÇØ¼ È®¸³µÈ Á¦¾à Á¦ÇÑÀº Ä«ÇÇ¿¡ À¯ÁöµÇ°í ÀÖ¾î µÇÁö ¾Ê½À´Ï´Ù.
CachedRowSet
¿ÀºêÁ§Æ®. CachedRowSet
¿ÀºêÁ§Æ®ÀÇ µö Ä«ÇÇÀ̸ç, ÀÌ CachedRowSet
¿ÀºêÁ§Æ®·ÎºÎÅÍ´Â ¿ÏÀüÇÏ°Ô µ¶¸³Çϰí ÀÖ´Ù
SQLException
- CachedRowSet
¿ÀºêÁ§Æ®ÀÇ Ä«ÇÇÀÇ »ý¼º½Ã¿¡ ¿¡·¯°¡ ¹ß»ýÇßÀ» °æ¿ìcreateCopy()
,
createShared()
,
createCopySchema()
,
RowSetEvent
,
RowSetListener
RowSetWarning getRowSetWarnings() throws SQLException
RowSet
¿ÀºêÁ§Æ®¿¡ °üÇÑ È£Ãâ¿¡
ÇØ º¸°íµÇ´Â ÃÖÃÊÀÇ °æ°í¸¦ µ¹·ÁÁÝ´Ï´Ù. ÈļÓÀÇ RowSet
¿À
ºêÁ¦Å©Æ®ÀÇ °æ°í´Â
ÀÌ ¸Þ¼µå°¡ µ¹·ÁÁÖ´Â RowSetWarning
¿ÀºêÁ§Æ®¿¡ üÀÎ µË´Ï´Ù.
°æ°í üÀÎÀº, »õ·Î¿î ÇàÀÌ ÀÐÈú ¶§¸¶´Ù ÀÚµ¿ÀûÀ¸·Î Ŭ¸®¾î µË´Ï´Ù. ÀÌ ¸Þ¼µå´Â Ŭ·Î¿ìÁî µÈ RowSet
¿ÀºêÁ§Æ®ÀÇ È£Ãâ¿¡´Â »ç¿ëÇÏÁö ¾Ê½À´Ï´Ù. »ç¿ëÇϸé SQLException
°¡ Throw µË´Ï´Ù.
RowSetWarning
¿ÀºêÁ§Æ®. ¾ø´Â °æ¿ì´Â null
SQLException
- ÀÌ ¸Þ¼µå°¡, ´ÝÇôÁø RowSet »ó¿¡¼ ºÒ·Á °¬À» °æ¿ìRowSetWarning
boolean getShowDeleted() throws SQLException
boolean
¸¦ ÃëµæÇÕ´Ï´Ù. true
°¡ ¹Ý
µÇ¾úÀ» °æ¿ì, »èÁ¦ÇàÀº ÇöÀçÀÇ Çà°ú ÇÔ²² Ç¥½ÃµË´Ï´Ù. false
°¡ µ¹·ÁÁÖ°íÁ³À» °æ¿ì, »èÁ¦ÇàÀº ÇöÀçÀÇ Ç༼Ʈ³»¿¡ Ç¥½ÃŰ
ÀÀ. µðÆúƮġ´Â false
ÀÔ´Ï´Ù.
Ç¥ÁØÇà ¼¼Æ® ±¸ÇöÀº, º¸¾È»óÀÇ ¹è·Á ¶Ç´Â ƯÁ¤ÀÇ ¹èÄ¡ ½Ã³ª¸®¿À¿¡ ÀûÇÕ½Ã۱⠶§¹®¿¡ ÀÌ µ¿ÀÛÀ» Á¦ÇÑÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù. À̰ÍÀº, Á¤ÀÇ ³¡³ ±¸ÇöÀ¸·Î¼ ³²°ÜÁ® Ç¥ÁØÀÇ µ¿ÀÛÀ» ³ªÅ¸³»Áö ¾Ê½À´Ï´Ù.
ÁÖ: »èÁ¦µÈ ÇàÀ» Ç¥½ÃÇϸé, ÀϺÎÀÇ Ç¥ÁØ JDBC RowSet
±¸Çö ¸Þ¼µåÀÇ µ¿ÀÛÀÌ º¹ÀâÇÏ°Ô µË´Ï´Ù. ±×·¯³ª, »èÁ¦µÈ ÇàÀ» Ç¥½ÃÇÏ´Â ±â´ÉÀº, ¸Å¿ì Àü¹®ÀûÀÎ ¾îÇø®ÄÉÀ̼ÇÀ¸·Î ¹Û¿¡ »ç¿ëµÇÁö ¾Ê½À´Ï´Ù. µû¶ó¼, ¿Í
¾î´À Çà ¼¼Æ® À¯Àú´Â
ÀÌ ¼³Á¤À» ¹«½ÃÇØ ±¦Âú½À´Ï´Ù.
true
, ±×·¸Áö ¾ÊÀº °æ¿ì´Â false
SQLException
- Çà ¼¼Æ® ±¸ÇöÀÌ, »èÁ¦ÇàÀÌ Ç¥½ÃµÉÁö ¾î¶³Áö¸¦ ÆÇ´ÜÇÒ ¼ö ¾ø´Â °æ¿ìsetShowDeleted(boolean)
void setShowDeleted(boolean b) throws SQLException
showDeleted
ÇÁ·ÎÆÛƼ¿¡
ÁöÁ¤µÈ boolean
Ä¡¸¦ ¼³Á¤ÇÕ´Ï´Ù. À̰Ϳ¡
, »èÁ¦ÇàÀ» ÇöÀçÀÇ Çà ¼¼Æ®³»¿¡ Ç¥½ÃÇÒÁö ¾î¶³Áö°¡ °áÁ¤µË´Ï´Ù. °ªÀÌ true
ÀÇ °æ¿ì, »èÁ¦µÈ ÇàÀÌ ÇöÀçÀÇ Çà ¼¼Æ®¿Í¶ó°íµµ
¿¡ Ç¥½ÃµË´Ï´Ù. °ªÀÌ false
ÀÇ °æ¿ì, »èÁ¦µÈ ÇàÀº ÇöÀçÀÇ Çà ¼¼Æ®³»¿¡ Ç¥½ÃµÇÁö ¾Ê½À´Ï´Ù.
Ç¥ÁØÇà ¼¼Æ® ±¸ÇöÀº, º¸¾È»óÀÇ ¹è·Á ¶Ç´Â ƯÁ¤ÀÇ ¹èÄ¡ ½Ã³ª¸®¿À¿¡ ÀûÇÕ½Ã۱⠶§¹®¿¡ ÀÌ µ¿ÀÛÀ» Á¦ÇÑÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù. À̰ÍÀº, Á¤ÀÇ ³¡³ ±¸ÇöÀ¸·Î¼ ³²°ÜÁ® Ç¥ÁØÀÇ µ¿ÀÛÀ» ³ªÅ¸³»Áö ¾Ê½À´Ï´Ù.
b
- »èÁ¦µÈ ÇàÀ» °Ñ(Ç¥)
½Ã ÇÏ´Â °æ¿ì´Â true
, ±×·¸Áö ¾ÊÀº °æ¿ì´Â false
SQLException
- Çà ¼¼Æ® ±¸ÇöÀÌ, »èÁ¦ÇàÀÇ Ç¥½Ã ¶Ç´Â ºñÇ¥½ÃÀÇ ¼³Á¤À» ¸®¼ÂÆ® ÇÒ ¼ö ¾ø´Â °æ¿ìgetShowDeleted()
void commit() throws SQLException
CachedRowSet
¿ÀºêÁ§Æ®ÀÇ SyncProvider
¿¡´Â
ResultSet
ÀÇ
Connection
¿ÀºêÁ§Æ®Àΰ¡, »ý¼ºÀÚ¿¡°Ô °Ç³×Áö´Â JDBC ÇÁ·ÎÆÛƼ°¡ Æ÷ÇԵ˴ϴÙ. ÀÌ ¸Þ¼µå´Â
Connection
ÄÚ
¹ÌÆ® ¸Þ¼µå¸¦ ·¦ ÇØ, À¯¿¬ÇÑ ÀÚµ¿ À§Å¹ ¶Ç´Â ºñÀÚµ¿ À§Å¹ÀÇ Æ®·£Àè¼Ç(transaction) Á¦¾î ¼Æ÷Æ®¸¦ Á¦°øÇÕ´Ï´Ù.
ÀüȸÀÇ À§Å¹/·Ñ¹é(rollback)ÀÇ µÚ,acceptChanges()
¸Þ¼µå¿¡
ÇØ ÇàÇØÁø ¸ðµç º¯°æÀ» ¿µ¼ÓÀûÀÎ °ÍÀ¸·Î ÇÕ´Ï´Ù. ÀÌ ¸Þ¼µå´Â
ÀÚµ¿ À§Å¹ ¸ðµå°¡ ¹«È¿°¡ µÇ¾î ÀÖÀ» ¶§ ¹Û¿¡ »ç¿ëÇÒ ¼ö ¾ø½À´Ï´Ù.
SQLException
- µ¥ÀÌŸº£À̽º ¾×¼¼½º ¿¡·¯°¡ ¹ß»ýÇßÀ» °æ¿ì, ¶Ç´Â ÀÌ CachedRowSet
³»ÀÇ Connection ¿ÀºêÁ§Æ®°¡ ÀÚµ¿ À§Å¹ ¸ðµåÀÎ °æ¿ìConnection.setAutoCommit(boolean)
void rollback() throws SQLException
CachedRowSet
¿ÀºêÁ§Æ®ÀÇ SyncProvider
¿¡´Â
¿øÀÇ ResultSet
ÀÇ
Connection
¿ÀºêÁ§Æ®Àΰ¡, °Å±â¿¡ °Ç³×¹Þ´Â JDBC ÇÁ·ÎÆÛƼ°¡ Æ÷ÇԵ˴ϴÙ.
ÇöÀçÀÇ Æ®·£Àè¼Ç(transaction)¿¡¼ÀÇ ¸ðµç º¯°æÀ» Ãë¼ÒÇÕ´Ï´Ù. ÀÌ ¸Þ¼µå´Â ÀÚµ¿ À§Å¹ ¸ðµå°¡ ¹«È¿°¡ µÇ¾î ÀÖÀ» ¶§ ¹Û¿¡ »ç¿ëÇÒ ¼ö ¾ø½À´Ï´Ù.
SQLException
- µ¥ÀÌ
Ÿº£À̽º¾ÆÅ©¼¼½º¿¡¶ó°¡ ¹ß»ýÇßÀ» °æ¿ì, ¶Ç´Â ÀÌ CachedRowSet
³»ÀÇ Connection
¿ÀºêÁ§Æ®°¡ ÀÚµ¿ À§Å¹ ¸ðµåÀÎ °æ¿ìvoid rollback(Savepoint s) throws SQLException
CachedRowSet
¿ÀºêÁ§Æ®ÀÇ SyncProvider
¿¡´Â
¿øÀÇ ResultSet
ÀÇ
Connection
¿ÀºêÁ§Æ®Àΰ¡, °Å±â¿¡ °Ç³×¹Þ´Â JDBC ÇÁ·ÎÆÛƼ°¡ Æ÷ÇԵ˴ϴÙ.
ÇöÀçÀÇ Æ®·£Àè¼Ç(transaction)¿¡¼ÀÇ ¸ðµç º¯°æÀ» Ãë¼ÒÇØ, ¸¶Áö¸· Savepoint
Æ®·£Àè¼Ç(transaction) ¸¶Ä¿¿¡ µÇµ¹¸³´Ï´Ù. ÀÌ ¸Þ¼µå´Â ÀÚµ¿ À§Å¹ ¸ðµå°¡ ¹«È¿°¡ µÇ¾î ÀÖÀ» ¶§ ¹Û¿¡ »ç¿ëÇÒ ¼ö ¾ø½À´Ï´Ù.
s
- Savepoint
Æ®·£Àè¼Ç(transaction) ¸¶Ä¿
SQLException
- µ¥ÀÌ
Ÿº£À̽º¾ÆÅ©¼¼½º¿¡¶ó°¡ ¹ß»ýÇßÀ» °æ¿ì, ¶Ç´Â ÀÌ CachedRowSet
³»ÀÇ Connection
¿ÀºêÁ§Æ®°¡ ÀÚµ¿ À§Å¹ ¸ðµåÀÎ °æ¿ìvoid rowSetPopulated(RowSetEvent event, int numRows) throws SQLException
numRows
ÆÄ
¶ó¸ÞÀÌŸ¿¡
ÇØ, ÀÌ À̺¥Æ®´Â
numRow
¸¶´Ù Æ®¸®°ÅµË´Ï´Ù.
À̺¥Æ®ÀÇ ¼Ò½º´Â event.getSource ¸Þ¼µå·Î ÃëµæÇÒ ¼ö ÀÖ½À´Ï´Ù.
event
- À̺¥Æ®
ÀÇ ¼Ò½ºÀÎ RowSet
¿ÀºêÁ§Æ®¸¦ Æ÷ÇÔÇÏ´Â RowSetEvent
¿ÀºêÁ§Æ®numRows
- Àбâ
Æ÷ÇÔ½ÃÀÇ ÇàÀÇ °£°Ý¼ö. ¿©±â¼, ÀÐÈù CachedRowSet
°¡ Æ®¸®°ÅµÈ´Ù. µðÆúƮġ´Â Á¦·Î. fetchSize
º¸´Ù ÀÛÀº °ª°ú Á¦·Îº¸´Ù ÀÛÀº °ªÀº ÁöÁ¤ÇÒ ¼ö ¾ø´Ù
SQLException
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
void setPageSize(int size) throws SQLException
CachedRowSet
¿ÀºêÁ§Æ®ÀÇ ÆäÀÌÁö »çÀÌÁ ¼³Á¤ÇÕ´Ï´Ù. CachedRowSet
´Â
ÀÚ½ÅÀ» ÆäÀÌÁö »çÀÌÁî·Î ¼³Á¤µÈ Çà¼öÀÇ Çà¿¡ ÀоîµéÀÌ´Â ¼³Á¤À¸·Î ÇÒ ¼ö ÀÖ½À´Ï´Ù. populate()
¶Ç´Â execute()
°¡
ºÒ·Á °¡¸é,CachedRowSet
´Â
RowSet
read »ç¿ëÇÑ ¿øÀÇ SQL
Äõ¸®¿¡ µû¶ó, Ãß°¡ ÆäÀÌÁö¸¦ ÆäÄ¡ ÇÕ´Ï´Ù.
size
- CachedRowSet
ÀÇ ÆäÀÌÁö »çÀÌÁî
SQLException
- CachedRowSet
ÆäÀÌÁö »çÀÌÁîÀÇ ¼³Á¤½Ã¿¡ ¿¡·¯°¡ ¹ß»ýÇßÀ» °æ¿ì, ¶Ç´Â ÆäÀÌÁö »çÀÌÁî°¡ Á¦·Îº¸´Ù ÀÛÀº °æ¿ìint getPageSize()
CachedRowSet
¿ÀºêÁ§Æ®ÀÇ ÆäÀÌÁö »çÀÌÁ µ¹·ÁÁÝ´Ï´Ù.
int
boolean nextPage() throws SQLException
CachedRowSet
ÀÇ ÇöÀçÀÇ ÆäÀÌÁö¸¦ ÁõºÐ ÇÕ´Ï´Ù. À̰Ϳ¡
ÇØ,CachedRowSet
¿¸Å
ÀåÀº, ´ÙÀ½ÀÇ ÆäÀÌÁö »çÀÌÁî ºÐÀÇÇàÀ» ÆäÄ¡ ÇØ, RowSet ¿¡ ÀоîµéÀÔ´Ï´Ù. ´Ù¸¸, ÀÌ ¶§¹®¿¡´Â
±× ¿ÜÀÇ ÇàÀÌ RowSet
ÀÇ read¿¡ »ç¿ëµÈ ¿øÀÇ SQL Äõ¸®ÀÇ ½ºÄÚÇÁ³»¿¡ ³²¾Æ ÀÖÁö ¾ÊÀ¸¸é ¾ÈµË´Ï´Ù.
SQLException
- ´ÙÀ½
ÀÇ ÆäÀÌÁöÀÇ ÆäÄ¡½Ã¿¡ ¿¡·¯°¡ ¹ß»ýÇßÀ» °æ¿ì, ¶Ç´Â ÀÌ ¸Þ¼µå°¡ populate ³ª execute
½ÇÇàÀü¿¡ ³Ê¹« »¡¸® ºÒ·Á °¬À» °æ¿ìboolean previousPage() throws SQLException
CachedRowSet
ÀÇ ÇöÀçÀÇ ÆäÀÌÁö¸¦ °¨ ºÐ ÇÕ´Ï´Ù. À̰Ϳ¡
ÇØ,CachedRowSet
¿¸Å
ÀåÀº, ÀÌÀüÀÇ ÆäÀÌÁö »çÀÌÁî ºÐÀÇÇàÀ» ÆäÄ¡ ÇØ, RowSet ¿¡ ÀоîµéÀÔ´Ï´Ù. ÀÌÀüÀÇ ÆäÀÌÁö³»°¡ µ¹·ÁÁÖ°íÁø ÇàÀÇ ¾çÀº, RowSet
ÀÇ read¿¡ »ç¿ëµÈ ¿øÀÇ SQL Äõ¸®ÀÇ ½ºÄÚÇÁ³»¿¡ ³²¾Æ ÀÖÀ» Çʿ䰡 ÀÖ½À´Ï´Ù.
SQLException
- ÀÌ
ÀüÀÇ ÆäÀÌÁöÀÇ ÆäÄ¡½Ã¿¡ ¿¡·¯°¡ ¹ß»ýÇßÀ» °æ¿ì, ¶Ç´Â ÀÌ ¸Þ¼µå°¡ populate ³ª execute
½ÇÇàÀü¿¡ ³Ê¹« »¡¸® ºÒ·Á °¬À» °æ¿ì
|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
ÀÌÀü Ŭ·¡½º ´ÙÀ½ Ŭ·¡½º | ÇÁ·¹ÀÓÀ¸·Î ÇÁ·¹ÀÓ ¾øÀÌ | |||||||||
°³¿ä: NESTED | Çʵå | constructor¡¡ ¡¡ | ¸Þ¼µå | »ó¼¼: Çʵå | constructor¡¡ ¡¡ | ¸Þ¼µå |
Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy µµ ÂüÁ¶ÇϽʽÿÀ.