gnu.caf.db.impl
Class RchCrossTab

java.lang.Object
  extended by gnu.caf.db.impl.RchCrossTab
All Implemented Interfaces:
RowCallbackHandler

public class RchCrossTab
extends java.lang.Object
implements RowCallbackHandler

 RowCallbackHandler ÀÇ ±¸Çö Ŭ·¡½º·Î½á ResultSet 󸮽à Ä÷³¿¡ ÇØ´çÇÏ´Â µ¥ÀÌŸ¸¦ 
 Crosstab ÇüÅÂÀÇ HashMap °´Ã¼·Î º¯È¯ÇÔ.  
 
 ex)   
        
 
        java Code ÀÛ¼º¹æ¹ý
 
                RchCrossTab crosstab = RchFactory.getCrossTab();
                crosstab.setGroupByColumns("a,b");
                crosstab.setCrossColumn("c");
                crosstab.setTargetColumns("d,e,f"); 
                list = crosstab.convert(list);

                for ( int i=0, n=list.size(); i< n; i++) {
                        System.out.println(list.get(i));
                }


                ¶Ç´Â 

                DBManager2 dbmanager = new DBManager2Oracle();

                RchCrossTab crosstab = RchFactory.getCrossTab();
                crosstab.setGroupByColumns("a,b");
                crosstab.setCrossColumn("c");
                crosstab.setTargetColumns("d,e,f"); 

                dbmanager.setRowCallbackHandler(crosstab);

                List list = null;
                try {
                        dbmanager.getConnection();
                        list = dbmanager.executeQueryForListByQueryGroup("sqlFilename", "sqlID", params); 
                }catch(SQLException sqle) {
                        sqle.printStackTrace();
                }finally{
                        dbmanager.close();
                }
                for ( int i=0, n=list.size(); i< n; i++) {
                        System.out.println(list.get(i));
                }


        sql ÀÛ¼º¹æ¹ý ¹× µ¥ÀÌŸ º¯È¯·ÎÁ÷. 

                a, b Ä÷³ÀÌ ÁÂÃø¿¡ 
                c Ä÷³ÀÇ value °ªÀÌ  »óÃøÀ¸·Î ±¸¼ºµÈ Å×À̺íÀ» ¸¸µé°íÀÚ ÇÒ °æ¿ì..

                GROUP BY a, b, c     µÇ´Â SQLÀÛ¼º ¹× ½ÇÇàµÇ´Â °á°ú°ªÀÌ ¾Æ·¡¿Í °°Àº °æ¿ì

                a , b, c, d, e                                                  ==> HashMap             key={"a","b","c","d","e"}
                {
                1,  2, 1, 1, 2
                1,  2, 2, 3, 4
                1,  3, 1, 5, 6
                1,  3, 3, 7, 8         
                }               

                Å©·Î½ºÅÇ º¯È¯½Ã ¾Æ·¡¿Í °°Àº ÇüÅ·Πº¯È¯.                         ==> HashMap     key={"a","b","d__1","d__2","d__3","e__1","e__2","e__3"}
                a , b, 1        ,2              ,3   ÀÇ ÇüÅ·Πº¯È¯.
                {
                1,  2, d=1 e=2  ,d=3 e=4
                1,  3, d=5 e=6  ,               ,d=7 e=8
                }               

        ¡Ø /caf/samples/list_crosstab.jsp ¸¦ ÂüÁ¶.

        
 

Since:
1.0
Author:
ÀÌÈ£¼º
See Also:
RowCallbackHandler

Constructor Summary
RchCrossTab()
           
 
Method Summary
 java.util.List convert(java.util.List list)
          List °´Ã¼¸¦ Å©·Î½ºÅÇÇüÅÂÀÇ ¸®½ºÆ®·Î º¯È¯ÇÔ.
 java.lang.Object getColumnForRow(java.util.Map row, java.lang.String columnName, java.lang.Object crossColumnValue)
           
 java.lang.Object getColumnForRow(java.util.Map row, java.lang.String columnName, java.lang.Object crossColumnValue, java.lang.String nullStr)
           
 java.lang.String getCrossColumn()
           
 java.lang.Object[] getCrossColumnValues()
           
 java.lang.String getGroupByColumns()
           
 java.util.List getRsList(java.sql.ResultSet rs, int startRow, int maxRows)
          ResultSet ¿¡ ´ëÇÏ¿© firstRow¿¡ ÇØ´çÇÏ´Â ¸¸Å­ rs.next() ó¸®ÈÄ maxResults ¸¸Å­ µ¥ÀÌŸ¸¦ ó¸®ÈÄ List¸¦ ¹ÝȯÇÔ.
 java.lang.String getSeperateCHAR()
           
 java.lang.String getTargetColumns()
           
static void main(java.lang.String[] args)
           
 void setCrossColumn(java.lang.String crossColumn)
           
 void setCrossColumnValues(java.lang.Object[] crossColumnValues)
          Å©·Î½ºÅÇ ¸®½ºÆ® º¯È¯½Ã Å©·Î½ºÅÇÀ¸·Î ÀüȯµÇ´Â Ä÷³ÀÇ value°ªÀ» ¼³Á¤ÇÔ.
 void setGroupByColumns(java.lang.String groupByColumns)
           
 void setSeperateCHAR(java.lang.String seperateChar)
          Å©·Î½ºÅÇ ¸®½ºÆ® º¯È¯½Ã crossColumn ÀÇ value °ª¿¡ ÇØ´çÇϴ Ű°ª+¿ø·¡Ä÷³¸í À¸·Î ۰ªÀ» ÀúÀå½Ã ۰ª±¸ºÐ CHAR ¼³Á¤ÇÔ.
 void setTargetColumns(java.lang.String targetColumns)
          Å©·Î½ºÅÇ ¸®½ºÆ® º¯È¯½Ã ´ë»óÄ÷³À» ¼³Á¤ÇÔ.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

RchCrossTab

public RchCrossTab()
Method Detail

getColumnForRow

public java.lang.Object getColumnForRow(java.util.Map row,
                                        java.lang.String columnName,
                                        java.lang.Object crossColumnValue)

getColumnForRow

public java.lang.Object getColumnForRow(java.util.Map row,
                                        java.lang.String columnName,
                                        java.lang.Object crossColumnValue,
                                        java.lang.String nullStr)

main

public static void main(java.lang.String[] args)
Parameters:
args -

getRsList

public java.util.List getRsList(java.sql.ResultSet rs,
                                int startRow,
                                int maxRows)
                         throws java.sql.SQLException
Description copied from interface: RowCallbackHandler
ResultSet ¿¡ ´ëÇÏ¿© firstRow¿¡ ÇØ´çÇÏ´Â ¸¸Å­ rs.next() ó¸®ÈÄ maxResults ¸¸Å­ µ¥ÀÌŸ¸¦ ó¸®ÈÄ List¸¦ ¹ÝȯÇÔ. maxResults °¡ -1 ÀÎ °æ¿ì¿¡´Â Àüü rs ¿¡ ´ëÇÏ¿© ó¸®ÈÄ List¸¦ ¹ÝȯÇÔ.

Specified by:
getRsList in interface RowCallbackHandler
Returns:
List
Throws:
java.sql.SQLException
See Also:
RowCallbackHandler.getRsList(ResultSet, int, int)

convert

public java.util.List convert(java.util.List list)
List °´Ã¼¸¦ Å©·Î½ºÅÇÇüÅÂÀÇ ¸®½ºÆ®·Î º¯È¯ÇÔ.

Parameters:
list -
Returns:
List

getCrossColumn

public java.lang.String getCrossColumn()

setCrossColumn

public void setCrossColumn(java.lang.String crossColumn)

getGroupByColumns

public java.lang.String getGroupByColumns()

setGroupByColumns

public void setGroupByColumns(java.lang.String groupByColumns)

getCrossColumnValues

public java.lang.Object[] getCrossColumnValues()

setCrossColumnValues

public void setCrossColumnValues(java.lang.Object[] crossColumnValues)
Å©·Î½ºÅÇ ¸®½ºÆ® º¯È¯½Ã Å©·Î½ºÅÇÀ¸·Î ÀüȯµÇ´Â Ä÷³ÀÇ value°ªÀ» ¼³Á¤ÇÔ.

Parameters:
crossColumnValues -

getTargetColumns

public java.lang.String getTargetColumns()

setTargetColumns

public void setTargetColumns(java.lang.String targetColumns)
Å©·Î½ºÅÇ ¸®½ºÆ® º¯È¯½Ã ´ë»óÄ÷³À» ¼³Á¤ÇÔ.

Parameters:
targetColumns -

getSeperateCHAR

public java.lang.String getSeperateCHAR()

setSeperateCHAR

public void setSeperateCHAR(java.lang.String seperateChar)
Å©·Î½ºÅÇ ¸®½ºÆ® º¯È¯½Ã crossColumn ÀÇ value °ª¿¡ ÇØ´çÇϴ Ű°ª+¿ø·¡Ä÷³¸í À¸·Î ۰ªÀ» ÀúÀå½Ã ۰ª±¸ºÐ CHAR ¼³Á¤ÇÔ.

Parameters:
seperateChar -


Copyright © 2003 All Rights Reserved.